我想知道,如果不是必需的话,如何验证字符串字段(长度)并且可以为空?如果我的字符串为空,我如何跳过验证?我当前的验证是这样的,但它不是'空友好':
<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" />
答案 0 :(得分:0)
你将不得不使用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>