【发布时间】:2025-11-25 19:20:04
【问题描述】:
当我从配置文件中读取规则时,我会这样做:
IConfigurationSource configurationSource = new FileConfigurationSource("myvalidation.config");
var validator = ValidationFactory.CreateValidator<Salary>(configurationSource);
配置文件如下所示:
<ruleset name="Default">
<properties>
<property name="Address">
<validator lowerBound="10" lowerBoundType="Inclusive" upperBound="15"
upperBoundType="Inclusive" negated="false" messageTemplate=""
messageTemplateResourceName="" messageTemplateResourceType=""
tag="" type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.StringLengthValidator, Microsoft.Practices.EnterpriseLibrary.Validation, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
name="String Length Validator" />
</property>
</properties>
</ruleset>
我的问题是 - 有没有办法不指定规则集名称?如果我使用属性方法,我不需要指定规则集名称,我可以使用以下方法进行验证:
ValidationResults results = Validation.Validate(salary);
现在从配置文件中读取时,我必须指定规则集名称。没有指定规则集名称的接受配置源的 CreateValidator 方法的重载。此外,配置文件中的 xml 需要规则集的名称属性
【问题讨论】:
标签: .net validation enterprise-library