您将不得不使用 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>