我有一个属性 ExpiredDate 在 MVC 中定义
[Required]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? ExpirationDate { get; set; }
我想验证页面上的日期格式是否不正确。
我使用的日期格式是
MM/dd/yyyy
.
最佳答案
您应该使用 DataType
属性与 DataType.Date
.两者都在 System.ComponentModel.DataAnnotations
命名空间,可以这样使用:
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? ExpirationDate { get; set; }
This answer还包括一些更多的属性。
更新 :要在 ASP.NET MVC4 中启用客户端验证,您需要执行以下操作:
<%: Scripts.Render("~/Scripts/jquery.validate.min.js") %>
<%: Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js") %>
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
@Html.ValidationMessageFor()
时使用此 css这样它最初是隐藏的,并通过 javascript 验证显示/* styles for validation helpers */
.field-validation-error {
color: #e80c20;
font-weight: bold;
}
.field-validation-valid {
display: none;
}
input.input-validation-error {
border: 1px solid #e80c20;
}
input[type="checkbox"].input-validation-error {
border: 0 none;
}
.validation-summary-errors {
color: #e80c20;
font-weight: bold;
font-size: 1.1em;
}
.validation-summary-valid {
display: none;
}
关于asp.net-mvc - 验证 Mvc 中的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16565532/