我在努力学习EnterpriseLibraryValidatoin。当我将TypeValidation配置为通过配置文件验证类时,它不会选择。但是当我添加数据注释时,它会正确地验证,我不知道我是否遗漏了什么
有什么帮助吗?
验证配置文件
<validation>
<type name="ValidationBlockExample.Person" defaultRuleset="ValidimiFushave"
assemblyName="ValidationBlockExample, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<ruleset name="ValidimiFushave">
<fields>
<field name="LastName">
<validator type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.NotNullValidator, Microsoft.Practices.EnterpriseLibrary.Validation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
messageTemplate="Last Name Required!" name="Not Null Validator" />
</field>
</fields>
</ruleset>
</type>
要验证的代码
ValidationFactory.SetDefaultConfigurationValidatorFactory(new SystemConfigurationSource(false));
Validator<Person> pValidator = ValidationFactory.CreateValidator<Person>();
Person prsn = new Person();
prsn.FirstName = "Name";
////prsn.LastName = "Haz";
prsn.Age = 31;
ValidationResults valResults = pValidator.Validate(prsn);
if (!valResults.IsValid)
{
foreach (var valResult in valResults)
{
Console.WriteLine(valResult.Message);
}
}
else
Console.WriteLine("Preson Validated !!!");
Console.ReadLine();要验证的类
public class Person
{
public string FirstName { get; set; }
//[Required]
public string LastName { get; set; }
public int Age { get; set; }
}发布于 2013-11-01 17:58:03
验证应用程序块 ValidationFactory类不再自动从配置文件构建其配置。现在必须调用SetDefaultConfigurationValidatorFactory方法从配置文件加载配置。这是一次彻底的改变。
因此,正如有人向我建议的那样,这样做:
ValidationFactory.SetDefaultConfigurationValidatorFactory(
new SystemConfigurationSource());在你验证之前。
https://stackoverflow.com/questions/19046427
复制相似问题