gpt4 book ai didi

jquery - 指定的值不符合要求的格式yyyy-MM-dd

转载 作者:行者123 更新时间:2023-12-03 21:28:29 26 4
gpt4 key购买 nike

我有一个使用数据注释、Entity-Framework Jquery 2.1.3 和 Jquery UI 1.11.4 的 .Net MVC 5 应用程序。

当我使用英国格式“dd/MM/YYYY”呈现带有日期类型输入的编辑表单时;使用 Google Chrome 时出现以下错误消息:

The specified value '10/10/2001' does not conform to the required format, 'yyyy-MM-dd'. jquery-2.1.3.js:5317

型号

public class MyModel
{
[Column(TypeName = "date"), DataType(DataType.Date), Display(Name = "My date")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public string MyDate { get; set; }
}

标记

<input class="text-box single-line" data-val="true" data-val-date="The field My date must be a date." id="MyDate" name="MyDate" type="date" value="10/10/2001" />

输入控件中的值设置正确,但浏览器中未显示日期。我首先认为这是 jQuery 的问题,因为它出现在 jQuery 脚本文件中,但在 IE 和 Firefox 中测试时一切正常。

然后我假设这是我在 Chrome 中的区域设置,因为默认情况下 Chrome 认为每个英国人都在美国,我将区域设置更改为英国,但仍然出现相同的问题。

一个简单的解决方法是将我的模型中的格式更改为通用,但对于英国用户来说,这有点陌生。

有没有办法告诉 Chrome 接受“dd/MM/YYYY”中的日期格式?

最佳答案

HTML5 日期选择器的规范规定日期必须采用 yyyy-MM-dd 格式(ISO 格式)。这意味着您 DisplayFormatAttribute 必须是

[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public string MyDate { get; set; }

或者,您可以使用手动添加格式

@Html.TextBoxFor(m => m.MyDate, "{0:yyyy-MM-dd}", new { @type = "date"  })

后面的选项允许您保留 DataFormatString = "{0:dd/MM/yyyy}") 以便在 @Html.DisplayFor() 中使用

关于jquery - 指定的值不符合要求的格式yyyy-MM-dd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30798906/

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