gpt4 book ai didi

telerik - Kendo DatePicker 无法验证自定义日期格式

转载 作者:行者123 更新时间:2023-12-02 04:53:52 29 4
gpt4 key购买 nike

我正在使用 Kendo DatePicker 编辑 ASP.NET MVC 4 项目中 Kendo 网格中显示的日期字段。为了让用于日期字段的 DatePicker 使用自定义日期格式字符串,我将 EditorTemplates 文件夹下的 Date.cshtml 文件更新为以下内容:

@(Html.Kendo().DatePickerFor(m => m).Format("dd/MM/yyyy"))

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

经过进一步调查,我可以说 DatePicker 正在根据 M/d/Y 格式验证日期。该假设是根据我的发现做出的,即 12/1/2012 是有效日期,而 13/1/2012 则不是。

我还尝试将 .ParseFormat("dd/MM/yyyy") 添加到 Date.cshtml 中 DatePicker 声明的末尾,但它没有解决任何问题。所以我想说这绝对是一个错误,我稍后会将其报告给 Telerik。

但目前,我正在寻找一种解决方法来使其正常工作。我发现我可以在 Javascript 中重写 kendo.ui.validator.rules.mvcdate 来拥有自己的验证函数。虽然这在 Chrome 中工作正常,但在 IE9 中不起作用。

那么,有什么想法可以让 DatePicker 接受 dd/MM/yyyy 输入格式吗?提前致谢。

最佳答案

在内部,ASP.NET MVC 的日期验证规则(不显眼的客户端验证)使用 kendo.parseDate(string)方法,内部将使用 the predefined date patterns如果没有定义格式。我认为在您的情况下,默认区域性是“en-US”,这就是验证失败的原因,因为“dd/MM/yyyy”格式的日期被视为无效。一种可能的解决方案是覆盖日期验证规则(就像您所做的那样)并使用特定格式解析字符串。另一个选项是设置页面的差异文化设置。 For instance, the short date format for the "de-DE" culture is "dd/MM/yyyy".

关于telerik - Kendo DatePicker 无法验证自定义日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11625237/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com