文章出處

  首先,在模型類中引用 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頁面,直接點擊提交,你會發現提交不了需要我們輸入必要的數據,即使關閉了瀏覽器的活動腳本,后臺代碼依然需要通過驗證才能提交數據

  System.ComponentModel.DataAnnotations內置了很多特性,我們還可以通過DisplayFormat特性控制模型數據的輸出樣式

  http://www.asp.net/mvc/overview/older-versions/getting-started-with-aspnet-mvc4/adding-validation-to-the-model

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()