在ASP.NET MVC中,使用格式为yyyy/MM/dd HH:mm:ss的日期时间保存会导致验证错误。

3

i have a model like this :

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy/MM/dd HH:mm:ss}", ApplyFormatInEditMode = true)]
public DateTime DateUpdate { get; set; }

并且有一个视图:
<div class="form-group">
        @Html.LabelFor(model => model.DateUpdate, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Helpers.EditVal(Html.EditorFor(m => m.DateUpdate, new { htmlAttributes = new { @class = "form-control", @Value = DateTime.UtcNow.ToString("yyyy/MM/dd HH:mm:ss") } }))
            @Html.ValidationMessageFor(model => model.DateUpdate, "", new { @class = "text-danger" })
        </div>
    </div>

但我无法保存它,因为在dateupdate字段上出现了验证错误!这里有什么问题?我想以这种格式保存{0:yyyy/MM/dd HH:mm:ss},而不是mm/dd/yy或其他一些格式,并且我不想出现验证错误。


1
请查看以下内容: https://dev59.com/uXRB5IYBdhLWcg3wvpmc - undefined
感谢提供的链接。我必须说这在火狐浏览器上可以运行,但在谷歌浏览器和欧朋浏览器上无法正常工作。 - undefined
1个回答

4
我通过快速更改我的模型来解决了这个问题:
[DataType(DataType.Date)] ======> [DataType(DataType.DateTime)]

现在它已经可以正常工作了。


这之后我可以编写一个自定义验证,就像这个链接所说的那样 链接 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接