• Enterprise Library 3.0 体验 Validation Application Block (1)


         Validation Application BlockEL3.0中新加入的应用程序块,它可以借助Attribute或配置文件来轻松实现数据的有效性验证。下面通过一个简单的小例子演示如何通过Attribute进行数据验证 

    1.          新建一个控制台工程: ValidationDemo1

    2.          创建一个实体类:Student,并为其添加学号、姓名和年龄三个属性。

    3.          添加引用: Microsoft.Practices.EnterpriseLibrary.Validation

    4.          Student类中添加命名空间: Microsoft.Practices.EnterpriseLibrary.Validation

    5.          为相应的属性添加验证Attribute

    这里我们假设定义的数据有效格式为:
             学号:非空,长度为9位。
             姓名:非空,长度为1~10之间。
             年龄:允许为空,但是大小要在18~24岁之间。
    添加Attribute后代码变为:

     1     public class Student
     2     {
     3         private string _stdNo;
     4 
     5         [NotNullValidator]
     6         [StringLengthValidator(9,9)]
     7         public string StdNo
     8         {
     9             get { return _stdNo; }
    10             set { _stdNo = value; }
    11         }
    12         private string _name;
    13 
    14         [NotNullValidator]
    15         [StringLengthValidator(1,10)]
    16         public string Name
    17         {
    18             get { return _name; }
    19             set { _name = value; }
    20         }
    21         private int _age;
    22 
    23         [Int32RangeValidator(18,24)]
    24         public int Age
    25         {
    26             get { return _age; }
    27             set { _age = value; }
    28         }
    29     }

     

    6.          创建一个实例进行测试,并在这个类中引用命名空间:Microsoft.Practices.EnterpriseLibrary.Validation

     1         static void Main(string[] args)
     2         {
     3             Student student = new Student();
     4             student.StdNo = "12345678";
     5             student.Name = "xiaochen";
     6             student.Age = 20;
     7 
     8             ValidationResults results = Validation.Validate(student);
     9             if (!results.IsValid)
    10             {
    11                 foreach (ValidationResult result in results)
    12                 {
    13                     string errorMsg = "Key: {0}, Message: {1}";
    14                     Console.WriteLine(string.Format(errorMsg, result.Key.ToString(), result.Message.ToString()));
    15                 }
    16 
    17                 Console.ReadLine();
    18             }
    19         }

    7.          察看输出结果:

    将不符合验证的字段信息打印了出来,并显示不符合的地方。
    将数据修改为符合数据有效性的数据,再次执行程序,则不现实任何错误信息。 

    总结:

    本文介绍了一种使用Validation Application Block的方法,可以通过对象浏览器察看Microsoft.Practices.EnterpriseLibrary.Validation.dll并打开Microsoft.Practices.EnterpriseLibrary.Validation命名空间,形如ValidatorAttributes的方法都是可以当作Attribute的来使用的,同时也可以定义自己的Attribute元素。

    此外,如果你仅仅是通过Attribute来实现数据的验证,而并不使用配置文件验证。这种情况下,更加建议使用Validatation.ValidateFromAttributes()方法,这样可以避免实例化IConfigurationSource接口,从而在一定程度上节省了系统的资源。

  • 相关阅读:
    javascript 写一个随机范围整数的思路
    Promise中的next 另一个用法
    继上一篇随笔,优化3张以上图片轮播React组件
    低性能3张图片轮播React组件
    用函数式编程思维解析anagrams函数
    Python time time()方法
    torch.view().expand()
    pytorch中的top_K()函数
    设定学习率衰减
    两个集合求交集
  • 原文地址:https://www.cnblogs.com/shenfx318/p/613705.html
Copyright © 2020-2023  润新知