Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 数据val date属性添加到dateTimePicker,即使模型中没有ValidationAttribute_Asp.net Mvc - Fatal编程技术网

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};