代码改变世界

asp.net mvc 2.0 数据验证

2011-02-16 09:36  Lecone.JY.HU  阅读(365)  评论(0编辑  收藏  举报

asp.net mvc 2.0的数据验证方法在网上已经很多很全面了,今天写这个主要是适合自己用,做一个记录以免以后忘记。但如果能为其它人提供解决问题的思路也是件好事情。

在做mvc网站的时候经常使用微软提供的数据模板来生产持久层,如:EF和linq  to sql类等,这些自动生产的类不具备数据验证,我们在提交数据前先要多数据进行验证。

最原始的方法是在提交页面中对提交数据进行验证,这样的是最原始,也是很随性的行为,对后期维护产生麻烦。

微软提供了System.ComponentModel.DataAnnotations,可以在这基础上进行数据验证。

举例: EF和linq  to sql生成的实体类 TB_eWeb_Area,我们要对TB_eWeb_Area行数据验证。

验证的数据类TB_eWeb_Area_Metadata.cs

代码

namespace eroomWeb.Model//命名空间需要和生成的实体类命名空间相同。
{   
   [MetadataType(typeof(TB_eWeb_Area_Metadata))]
public partial class TB_eWeb_Area
    {
public class TB_eWeb_Area_Metadata
        {
            [DisplayName("AreaID")]
public int AreaID { get; set; }
            [DisplayName("地区名称")]
            [StringLength(10, ErrorMessage = "长度不能超过60")]
            [Required(ErrorMessage = "地区名称不能为空")]
public string AreaName { get; set; }
            [DisplayName("父类ID")]
            [Required(ErrorMessage = "父类ID不能为空")]
public System.Nullable<int> APid { get; set; }
            [DisplayName("地区编码")]
            [StringLength(10, ErrorMessage = "长度不能超过10")]
            [Required(ErrorMessage = "地区编码不能为空")]
public string AreaCode { get; set; }
        }
    }
}

的风格风格