我的页面上有关于无效日期格式的警告,如下所示。该警告由Kendo UI DatePicker组件生成。我在网上找不到解决方案,我的应用程序是本地化的pt-BR。如何解决这个问题。
<p>@(Html.Kendo().DatePicker().Name("periodoDocumento").Value(DateTime.Now))</p>
Google Chrome中的错误:
The specified value '06/07/2015' does not conform to the required format, 'yyyy-MM-dd'.
我必须使用日 - 月 - 年格式来满足客户需求。
答案 0 :(得分:16)
我找到了解决方案:
@(Html.Kendo().DatePicker().Name("periodoDocumento").Value(DateTime.Now).HtmlAttributes(new { @type = "" }))
因此,jquery将停止使用默认格式将此字段解析为日期。
答案 1 :(得分:4)
将字段的类型设置为text
会阻止浏览器和jQuery Validator将其视为日期。这比指定无效的输入类型格式(如empty string
)更清晰。
@(Html.Kendo().DatePicker()
.Name("DateFieldName")
.Value(Model.DateFieldName)
.HtmlAttributes(new { @type= "text"})
)
然而,这仍然是一个黑客 - 它只是抑制了您的浏览器和/或验证工具在日期字段上完成的验证。更好的解决方案(适用于长期修复)是确保填充这些日期字段的日期字符串符合HTML5 date field living standard中拼写的ISO 8601,例如2017-02-10
另请参阅这个较新的问题,特别是有关Chrome现在需要在HTML5日期字段上进行正确格式化的问题。
答案 2 :(得分:2)
添加格式属性:
@(Html.Kendo().DatePicker().Format("dd/MM/yyyy").Name("periodoDocumento").Value(DateTime.Now))
http://docs.telerik.com/kendo-ui/api/javascript/ui/datepicker#configuration-format
答案 3 :(得分:0)
添加此内容
.HtmlAttributes(new { type = "text" })