首先,在模型類中引用 System.ComponentModel.DataAnnotations 命名空間;System.ComponentModel.DataAnnotations 命名空間提供定義 ASP.NET MVC 和 ASP.NET 數據控制項的類的特性(即內置驗證屬性,你可以使用聲明的任 ...
首先,在模型類中引用 System.ComponentModel.DataAnnotations 命名空間;System.ComponentModel.DataAnnotations 命名空間提供定義 ASP.NET MVC 和 ASP.NET 數據控制項的類的特性(即內置驗證屬性,你可以使用聲明的任何類或屬性)
在沒有添加屬性的特性的時候我們是可以添加空數據的,比如下麵的Title欄位
現在我們就為Movie類的屬性都加上驗證特性,然後再運行
public class Movie { public int ID { get; set; } [Required]//提交的數據為非空 public string Title { get; set; } public DateTime ReleaseDate { get; set; } public string Genre { get; set; } [Range(1, 100)]//提交的數據是1至00 public decimal Price { get; set; } [StringLength(5)]//提交字元串長度為5 public string Rating { get; set; } }
但是,當打開http://localhost:60534/Movies主頁面的時候又報了異常—— “System.InvalidOperationException”類型的異常在 EntityFramework.dll 中發生,但未在用戶代碼中進行處理
因為我們對模型進行了更改,同樣需要對應到資料庫中,所以需要再次打開控制台,然後輸入以下指令(每次添加驗證特性或者是修改都需要執行)
add-migration AddDataAnnotationsMig
update-database
這次你可以很順利的打開http://localhost:60534/Movies/index頁面;現在我們打開Movie的create頁面,直接點擊提交,你會發現提交不了需要我們輸入必要的數據,即使關閉了瀏覽器的活動腳本,後臺代碼依然需要通過驗證才能提交數據