本文主要是介绍EnterpriseLibrary验证(1)添加验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码下载:http://dev.mjxy.cn/a-entlib-Adding-Validation.aspx
本演练演示:为商业实体添加验证, 启用验证实例验证。
1. 为要验证的实体添加引用
Microsoft.Practices.EnterpriseLibrary.Validation.dll
System.ComponentModel.DataAnnotations
2.引用命名空间
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
3.为实体属性添加验证
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
namespace ValidationHOL.BusinessLogic
{
public class Customer
{
[StringLengthValidator(1,25)]
public string FirstName { get; set; }
[StringLengthValidator(1,25)]
public string LastName { get; set; }
[RegexValidator(@"^\d\d\d-\d\d-\d\d\d\d$")]
public string SSN { get; set; }
public Address Address { get; set; }
}
}
using Microsoft.Practices.EnterpriseLibrary.Validation;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
namespace ValidationHOL.BusinessLogic
{
public class Address
{
[StringLengthValidator(1,50)]
public string StreetAddress { get; set; }
[ValidatorComposition(CompositionType.And)]
[StringLengthValidator(1,30)]
[ContainsCharactersValidator("sea",ContainsCharacters.All)]
public string City { get; set; }
[StringLengthValidator(2,2)]
public string State { get; set; }
[RegexValidator(@"^\d{5}$")]
public string ZipCode { get; set; }
}
}
4.为程序添加成员变量
private Validator<Customer> customerValidator;
5.创建验证
private void MainForm_Load(object sender, EventArgs e)
{
ValidatorFactory valFactory =
EnterpriseLibraryContainer.Current.GetInstance<ValidatorFactory>();
customerValidator = valFactory.CreateValidator<Customer>();
}
6.验证结果
ValidationResults results = customerValidator.Validate(customer);
if (!results.IsValid)
{
MessageBox.Show(this, "customer is not alid", "Error", MessageBoxButtons.OK);
return;
}
这篇关于EnterpriseLibrary验证(1)添加验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!