使用验证块的属性
验证属性(内置验证应用程序块属性和主题中描述的属性)可以用于各种目标,包括类、字段、属性、方法和(在有限情况下)参数。有关信息,请参见验证属性目标。还有一组属性允许您更改其他属性的行为。这些都是在验证修饰符属性中讨论的。还可以指定要在单独的元数据类中使用的属性。有关此问题的详细信息,请参阅。
使用验证块属性定义验证规则
可以在代码中包含验证应用程序块属性来定义规则集(在使用.NET数据注释属性时不能指定命名规则集)。这是使用配置或代码的另一种选择。如果不为属性验证规则指定名称,则它是默认规则集的一部分。下面的代码示例演示如何使用属性定义名为"RuleSetA"的规则集。
此代码定义了一个名为Customer的类,它包含许多属性,如FirstName和LastName。附加到这些属性的属性将它们与验证器相关联。例如,StringLengthValidator属性附加到FirstName属性,并将其与StringLengthValidator类关联。该属性包括两个构造函数参数,用于约束FirstName字段中包含的值的长度、一个指定要应用的规则集的参数和一个定义消息模板的参数。消息模板包含验证失败时返回的消息。验证属性的Ruleset参数指示应用程序块将使用"RuleSetA"而不是匿名的默认规则集。在本例中,ObjectValidator属性是"RuleSetA"规则集的一部分,并引用Address类的"RuleSetA"规则集。
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration; using Microsoft.Practices.EnterpriseLibrary.Validation; using Microsoft.Practices.EnterpriseLibrary.Validation.Validators; public class Cust