首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >企业库6验证配置文件

企业库6验证配置文件
EN

Stack Overflow用户
提问于 2013-09-27 08:41:55
回答 1查看 1.4K关注 0票数 1

我在努力学习EnterpriseLibraryValidatoin。当我将TypeValidation配置为通过配置文件验证类时,它不会选择。但是当我添加数据注释时,它会正确地验证,我不知道我是否遗漏了什么

有什么帮助吗?

验证配置文件

代码语言:javascript
复制
<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>

要验证的代码

代码语言:javascript
复制
        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();

要验证的类

代码语言:javascript
复制
public class Person
{
    public string FirstName { get; set; }
    //[Required]
    public string LastName { get; set; }
    public int Age { get; set; }

}
EN

回答 1

Stack Overflow用户

发布于 2013-11-01 17:58:03

6-最终版本,发行说明

验证应用程序块 ValidationFactory类不再自动从配置文件构建其配置。现在必须调用SetDefaultConfigurationValidatorFactory方法从配置文件加载配置。这是一次彻底的改变。

因此,正如有人向我建议的那样,这样做:

代码语言:javascript
复制
ValidationFactory.SetDefaultConfigurationValidatorFactory(
new SystemConfigurationSource());

在你验证之前。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19046427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档