Asp.net mvc 数据val date属性添加到dateTimePicker,即使模型中没有ValidationAttribute
我用这行代码发出一个日期时间选择器Asp.net mvc 数据val date属性添加到dateTimePicker,即使模型中没有ValidationAttribute,asp.net-mvc,Asp.net Mvc,我用这行代码发出一个日期时间选择器 @Html.EditorFor(model => model.Event.EventStart) 我的编辑器模板如下所示: @model DateTime? @Html.TextBox("", string.Format("{0:yyyy-MM-dd HH:mm}", Model.HasValue ? Model : null), new { @class = "dateTimePicker" }) [Display(Name = "Startd
@Html.EditorFor(model => model.Event.EventStart)
我的编辑器模板如下所示:
@model DateTime?
@Html.TextBox("", string.Format("{0:yyyy-MM-dd HH:mm}",
Model.HasValue ? Model : null), new { @class = "dateTimePicker" })
[Display(Name = "Startdatum")]
public DateTime EventStart { get; set; }
这将产生以下html:
<input type="text" value="2013-10-26 00:00" name="Event.EventStart"
id="Event_EventStart" data-val-required="The Startdatum field is required."
data-val-date="The field Startdatum must be a date." data-val="true"
class="dateTimePicker hasDatepicker input-validation-error">
似乎最可疑的jquery ui正在向我的dateTimePicker添加日期验证
为什么?
或者data val date属性的存在是否也会触发日期时间验证
验证失败:
字段Startdatum必须是日期
如果能够禁用验证或添加日期时间而不是日期的验证,那就太好了。
是否有某种方法可以像我通常处理其他数据类型一样,亲自使用数据注释添加验证?这是因为您的属性EventStart是DateTime,因此它将添加data val required属性,因为DateTime必须有一个值。如果现在是约会时间?可为Null则数据属性不会被包括注意@model是动态的,因此其在runtimedata val需要时进行计算是可以的,但是数据val date的处理是什么?它是一个日期,因此值必须是一个日期,否则DefaultModelBinder无法绑定它。html助手根据属性类型和应用于属性的任何其他属性(而不是jquery ui)添加数据属性。为什么验证失败?我已经在我的问题中添加了验证消息。您提到了jquery ui,所以我假设您需要设置日期格式以匹配您的格式。默认值为mm/dd/yy,类似于$.selector.datepicker{dateFormat:yy-mm-dd};