我有一个属性ExpiredDate在MVC中定义
- [required]
- [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
- public DateTime? ExpirationDate { get; set; }
我想验证一个页面上的日期格式不正确.
我使用的日期格式是MM / dd / yyyy.
@R_404_323@
您应该将
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") %>
>将其添加到web.config
- <appSettings>
- <add key="ClientValidationEnabled" value="true" />
- <add key="UnobtrusiveJavaScriptEnabled" value="true" />
- </appSettings>
>在使用@ Html.ValidationMessageFor()时使用这个CSS,以便它被初始隐藏并通过javascript验证显示
- <style type="text/css">
- /* 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;
- }
- </style>