Asp.net-Mvc

在 Mvc 中驗證 DateFormat

  • August 21, 2018

我在 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 中啟用客戶端驗證,您需要執行以下操作:

  1. 將 jquery.validation 外掛添加到頁腳
<%: Scripts.Render("~/Scripts/jquery.validate.min.js") %>
<%: Scripts.Render("~/Scripts/jquery.validate.unobtrusive.min.js") %>
  1. 將此添加到 web.config
<appSettings>
 <add key="ClientValidationEnabled" value="true" />
 <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
  1. 使用時使用此 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;
}

引用自:https://stackoverflow.com/questions/16565532