【问题标题】:Enterprise library 4 validation using config file使用配置文件的 Enterprise library 4 验证
【发布时间】:2015-01-22 11:56:17
【问题描述】:

我想知道,如果字符串字段(长度)不是必需的并且可以为空,我该如何验证它?如果我的字符串为空,我如何跳过验证?我当前的验证是这样的,但它不是“空友好”:

            <validator lowerBound="0" lowerBoundType="Ignore" upperBound="150"
          upperBoundType="Inclusive" negated="false" messageTemplate=""
          messageTemplateResourceName="my_message"
          messageTemplateResourceType="Project.Messages, Project, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
          tag="" type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.StringLengthValidator, Microsoft.Practices.EnterpriseLibrary.Validation, Version=4.1.0.0, Culture=neutral, PublicKeyToken=11222ff322r645e"
          name="String Length Validator" />

【问题讨论】:

    标签: xml visual-studio validation enterprise-library


    【解决方案1】:

    您将不得不使用 OrCompositeValidator。

    这是一个允许 null 或 1 到 100 之间的值。 但应该给你的想法。

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <section name="validation" type="Microsoft.Practices.EnterpriseLibrary.Validation.Configuration.ValidationSettings, Microsoft.Practices.EnterpriseLibrary.Validation, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
        </configSections>
        <validation>
            <type name="ValidationTest.Data" defaultRuleset="" assemblyName="ConsoleApplication4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
                <ruleset name="RuleSet1">
                    <properties>
                        <property name="MyProperty">
                            <validator type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.OrCompositeValidator, Microsoft.Practices.EnterpriseLibrary.Validation, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                                name="Or Composite Validator" />
                            <validator type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.NotNullValidator, Microsoft.Practices.EnterpriseLibrary.Validation, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                                negated="true" name="Not Null Validator" />
                            <validator type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.RangeValidator, Microsoft.Practices.EnterpriseLibrary.Validation, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                                culture="en-US" lowerBound="1" lowerBoundType="Inclusive"
                                upperBound="100" name="Range Validator" />
                        </property>
                    </properties>
                </ruleset>
            </type>
        </validation>
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多