加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:31:47 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Kendo DatePicker编辑在ASP.NET MVC 4项目中的Kendo Grid中显示的Date字段。为了将DatePicker用于Date字段,请使用自定义日期格式字符串,我将EditorTemplates文件夹下的Date.cshtml文件更新为以下内容: @(Html.Kendo().DatePickerFor(m = m).For
我正在使用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”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读