我想知道,如果字符串字段(长度)不是必需的并且可以为空,我如何验证它?如果字符串为空,如何跳过验证?我当前的验证是这样的,但它不是“null友好的”:
<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" />发布于 2015-01-23 05:49:51
你就得用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>https://stackoverflow.com/questions/28088192
复制相似问题