Asp.net-Mvc
在 Mvc 中驗證 DateFormat
我在 MVC 中定義了一個屬性 ExpiredDate
[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; }這個答案還包括更多屬性。
更新:要在 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 驗證顯示/* 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; }