编写正则表达式验证器,在属性上根据需要添加RegexValidatorAttribute。这种用法在ASP.Net MVC中用的非常多。
class Customer
{
[RegexValidator(@"^\S+@\S+$")]
public string Email{get;set;}
[RegexValidator(@"^\d{6}$")]
public string Postcode{get;set;}
[RegexValidator(@"^\d{15}$|^\d{18}$")]
public string IdNumber{get;set;}
}
编写Validate方法,在Validate方法中会对标记了RegexValidator的属性采用指定的正则表达式进行数据校验。步骤:
1、开发RegexValidatorAttribute,提供保存正则表达式的Pattern属性,以及一个接受正则表达式的构造函数。用AttributeUsage标记RegexValidatorAttribute只能添加到属性上。
2、 Validate方法中取得obj对应的Type对象,遍历type.GetProperties()所有属性,如果属性是string类型,并且定义了RegexValidator,取得RegexValidator对象,读取对象的Pattern对象多和正则表达式。
3、获得属性的值string value = prop.GetValue(obj, null) as string,用正则表达式进行校验。
4、写一个“ASP.Net”WinForm程序“表单生成器”,browser.DocumentText= html
browser.DocumentText= html
[TableName("T_Persons")]
class Person
{
[ColumnName("FName")]
public string Name { get; set; }
[ColumnName("FAge")]
public int Age { get; set; }
}
NHibernate
Person p1 =......;
db.Insert(p1);
5、带数据校验Attribute。