gpt4 book ai didi

asp.net-mvc - 为可为空的 DateTime 呈现的不显眼的验证属性

转载 作者:行者123 更新时间:2023-12-05 01:07:08 24 4
gpt4 key购买 nike

我有这个设置:

View 模型:

public class MyViewModel
{
public DateTime? Start { get; set; }
}

看法:
@model MvcApplication2.Models.MyViewModel
@using (Html.BeginForm())
{
@Html.EditorFor(x => x.Start)
}

结果 HTML:
<input class="text-box single-line" data-val="true" data-val-date="The field Start must be a date." id="Start" name="Start" type="datetime" value="" />

此 HTML 包含不显眼的验证属性。这是为什么?我的印象是,如果 ViewModel 属性是可为空的 DateTime,则不会进行验证?

最佳答案

问题与全局化有关。由于我支持多种文化,因此我包含了 jquery-globalize 脚本并添加了以下内容:

$(document).ready(function () {
$.validator.methods.date = function (value, element) {
return Globalize.parseDate(value);
}
});

Globalize.parseDate 因空值而失败。这仅在可为空的日期字段上变得明显,其中空值应被视为有效。如果我用它替换它
return value == '' ? null : Globalize.parseDate(value);

一切都按预期工作。

关于asp.net-mvc - 为可为空的 DateTime 呈现的不显眼的验证属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19006146/

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