【问题标题】:Kendo UI DatePicker Warning on date format yyyy-MM-ddKendo UI DatePicker 日期格式 yyyy-MM-dd 警告
【发布时间】:2015-09-24 00:29:30
【问题描述】:

我的页面上有一条关于无效日期格式的警告,如下所示。该警告由 Kendo UI DatePicker 组件生成。我在网上找不到解决方案,我的应用是本地化的 pt-BR。如何解决这个问题。

<p>@(Html.Kendo().DatePicker().Name("periodoDocumento").Value(DateTime.Now))</p>

谷歌浏览器出错:

The specified value '06/07/2015' does not conform to the required format, 'yyyy-MM-dd'.

我必须使用日-月-年格式来满足客户的需求。

【问题讨论】:

    标签: date kendo-ui datepicker format


    【解决方案1】:

    我找到了解决方案:

    @(Html.Kendo().DatePicker().Name("periodoDocumento").Value(DateTime.Now).HtmlAttributes(new { @type = "" }))
    

    因此 jquery 将停止将此字段解析为默认格式的日期。

    【讨论】:

    • 这对我有用。我猜 chrome 正在使用 type="date" 并尝试使用它自己的日期选择器,这会生成警告,因为它不是 chrome 支持的有效日期格式,即使 Kendo 正确处理它。
    • 这很适合我。谢谢。
    【解决方案2】:

    将字段的类型设置为text 可防止浏览器和 jQuery Validator 将其视为日期。这比指定无效的输入类型格式(如empty string)要干净一些。

    @(Html.Kendo().DatePicker()
        .Name("DateFieldName")
        .Value(Model.DateFieldName)
        .HtmlAttributes(new { @type=  "text"})
        )
    

    但是,这仍然是一个小技巧 - 它只是抑制了您的浏览器和/或验证工具对日期字段进行的验证。更好的解决方案(适合长期修复)是确保填充这些日期字段的日期字符串符合ISO 8601 中拼写的HTML5 date field living standard,例如2017-02-10

    还可以参考这个较新的问题,特别是关于 Chrome 现在需要正确格式化 HTML5 日期字段。

    Kendo UI datepicker incompatible with Chrome 56

    【讨论】:

      【解决方案3】:

      添加格式属性:

      @(Html.Kendo().DatePicker().Format("dd/MM/yyyy").Name("periodoDocumento").Value(DateTime.Now))
      

      http://docs.telerik.com/kendo-ui/api/javascript/ui/datepicker#configuration-format

      【讨论】:

      • 错误仍然存​​在,也使用 .format 的 DMY 进行试听,因为日期是 DMY。但没有成功。
      • 错误只在 Chrome 中吗? telerik.com/forums/…
      • 是的,仅在 chrome 中,但我没有使用 canary,我使用的是 Chrome,版本 43.0.2357.130。
      • 没关系,但我的设置是 @(Html.Kendo().DatePickerFor(model => model.MyDate).Format("dd/MM/yyyy") 我不使用 name 或 value 属性并在控制器中填充初始模型值。可能需要检查 Chrome 开发工具以查看发生了什么。
      【解决方案4】:

      添加这个 .HtmlAttributes(new { type = "text" })

      【讨论】:

        猜你喜欢
        • 2016-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-20
        • 2012-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多