telerik – Kendo DatePicker对自定义日期格式的验证失败

前端之家收集整理的这篇文章主要介绍了telerik – Kendo DatePicker对自定义日期格式的验证失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Kendo DatePicker编辑在ASP.NET MVC 4项目中的Kendo Grid中显示的Date字段。为了将DatePicker用于Date字段,请使用自定义日期格式字符串,我将EditorTemplates文件夹下的Date.cshtml文件更新为以下内容
@(Html.Kendo().DatePickerFor(m => m).Format("dd/MM/yyyy"))

通过这样做,我设法使DatePicker显示我想要的格式。但是,通过手动输入或从弹出式日历中选择,输入的某些日期验证失败。

进一步调查后,我可以说DatePicker根据M / d / Y格式验证日期。这个假设是基于我的发明,12/1/2012是一个有效的日期,而13/1/2012不是。

我还尝试在Date.cshtml中的DatePicker声明的末尾添加.ParseFormat(“dd / MM / yyyy”),但它并没有修复任何东西。所以我会说这绝对是一个错误,我会把这个报告给Telerik。

但是,暂时,我正在寻找一个解决办法让这个工作。我发现我可以覆盖Javascript中的kendo.ui.validator.rules.mvcdate来拥有自己的验证功能。虽然Chrome在Chrome中工作正常,但在IE9中却无效。

那么,任何想法我可以如何使DatePicker接受dd / MM / yyyy输入格式?提前致谢。

解决方法

在内部,ASP.NET MVC的日期验证规则(不引人注目的客户端验证)使用 kendo.parseDate(string)方法,如果没有定义格式/ s,内部将使用 the predefined date patterns方法。我想在你的情况下,默认文化是“en-US”,这就是为什么验证失败,因为“dd / MM / yyyy”格式的日期被认为是无效的。一个可能的解决方案是覆盖日期验证规则(和您一样),并使用特定格式解析字符串。另一个选项是为页面设置差异文化设置。 For instance,the short date format for the “de-DE” culture is “dd/MM/yyyy”.
原文链接:https://www.f2er.com/aspnet/253303.html

猜你在找的asp.Net相关文章