使用this jQuery DateTimePicker。我想确保在“提交”上输入了时间戳,因此在“我的视图模型”中它是“必填”字段,但是,由于控件的样式设置,因此未在“输入控件”上设置“视图模型”中的“必需” ID,而是Div周围,因此控件无法验证。
任何有关如何解决此问题的想法
ViewModel
[Required(ErrorMessage = "RequiredField")]
[Display(Name = "TimeStamp")]
public DateTime TimeStamp { get; set; }
HTML
<div class="form-group">
<label asp-for="TimeStamp" class="control-label"></label>
<div class="input-group date" id="TimeStamp">
<input type="text" class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
<span asp-validation-for="TimeStamp" class="text-danger"></span>
</div>
工作代码
<div class="form-group">
<label asp-for="TimeStamp" class="control-label"></label>
<div class="input-group date" id='TimeStampCal'>
@Html.TextBox("TimeStamp", null, new { @class = "form-control" })
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
<span asp-validation-for="TimeStamp" class="text-danger"></span>
</div>
JS
$('#TimeStampCal').datetimepicker();
我通过给Div赋予与模型不同的名称来工作,只是为了对其进行初始化,而不是使用TagHelpers,如果我使用MVC控件,它会用作datetimepicker,并且会在Submit上进行验证。
请参见上面的代码