0

指定的值"18/08/2017"不符合要求的格式,yyyy-MM-dd

谷歌浏览器不会dd/MM/yyyy从控制器方法加载日期格式。我想将日期加载到日期类型字段中。谷歌浏览器给了我一个警告。我该如何解决

指定的值"18/08/2017"不符合要求的格式,yyyy-MM-dd.

这是我在视图中的代码

@Html.EditorFor(model => model.DateReceived, "{0:dd/MM/yyyy}", 
    new {htmlAttributes = new { @class = "form-control", @type="date" } })
4

2 回答 2

1

Chrome 想要 "yyyy-MM-dd" -> 2017/08/18
你给了 chrome "dd-MM-yyyy" -> 18/08/2017
你需要给 Chrome 它想要的格式。

改成:

@Html.EditorFor(model => model.DateReceived, "{0:yyyy/MM/dd}", new {htmlAttributes = new { @class = "form-control", @type="date" } })
于 2017-08-24T01:46:56.280 回答
0

请在您的页面中写入以下 javascript

<script type="text/jscript">   
    $(function () {
        $.validator.methods.date = function (value, element) {
            if ($.browser.webkit) {

                //ES - Chrome does not use the locale when new Date objects instantiated:
                var d = new Date();

                return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
            }
            else {

                return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
            }
        };
    });

并考虑写这个

@Html.EditorFor(model => model.DateReceived, "{0:dd/MM/yyyy}", 
 new { @class = "form-control" })
于 2017-08-24T04:29:15.613 回答