使用的注释:
[RegularExpression("^((0[13578]|1[02])[-/.]31[-/.](18|19|20)[0-9]{2})|((01|0[3-9]|1[0-2])[-/.](29|30)[-/.](18|19|20)[0-9]{2})|((0[1-9]|1[0-2])[-/.](0[1-9]|1[0-9]|2[0-8])[-/.](18|19|20)[0-9]{2})|((02)[-/.]29[-/.](((18|19|20)(04|08|[2468][048]|[13579][26]))|2000))$", ErrorMessage = "Invalid Date")]
[DataType(DataType.Date)]
public DateTime? StartDate { get; set; }
HTML:
<div class="form-group col-xs-6">
<label for="StartDate" class="control-label">Start Date:</label>
@Html.TextBox("StartDate", Model.StartDate, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.StartDate, "", new { @class = "text-danger" })
</div>
当回发表单时,视图模型对象输入了值,但ModelState.IsValid
为false
。 ModelState.ErrorCount
为1
,ModelState["StartDate"]
为SubKey={StartDate}, Key="StartDate", ValidationState=Invalid
。当输入有效日期页面没有客户端错误并且可以成功回发时,我不确定为什么我仍然将ValidationState
作为无效。