Ответ 1
Вы должны включить атрибут DataType
с DataType.Date
. Они могут быть найдены в пространстве имен System.ComponentModel.DataAnnotations
.
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime? ExpirationDate { get; set; }
Этот ответ также содержит еще несколько атрибутов.
Обновлено, чтобы включить инструкции для включения проверки на стороне клиента в ASP.NET MVC4
Чтобы включить проверку на стороне клиента, вам необходимо:
-
Добавьте плагин jquery.validation в нижний колонтитул
<%: 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>
-
Используйте этот css при использовании @Html.ValidationMessageFor(), чтобы он был скрытно скрыт и отображался с помощью проверки 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>