ASP.NET MVC系列:添加模型的验证规则

  首先,在模型类中引用 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

 

posted @ 2016-03-25 14:00  高效养猪倌  阅读(1664)  评论(0编辑  收藏  举报