J'ai fait un test et cela fonctionne bien pour les classes de base et les classes de base abstraites. Pouvez-vous poster votre configuration?
Veillez à ne pas utiliser le code XML de validation de propriété lorsque vous traitez des champs (et vice versa).
Sur la base de votre exemple ci-dessus, votre configuration devrait ressembler à:
<validation>
<type assemblyName="MyProject.Test, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
name="MyProject.Test.B">
<ruleset name="RuleSetB">
<fields>
<field name="fieldA">
<validator lowerBound="1" lowerBoundType="Inclusive" upperBound="100"
upperBoundType="Inclusive" negated="false" messageTemplate="fieldA must be between 1 and 100"
messageTemplateResourceName="" messageTemplateResourceType=""
tag="" type="Microsoft.Practices.EnterpriseLibrary.Validation.Validators.RangeValidator, Microsoft.Practices.EnterpriseLibrary.Validation, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
name="Range Validator" />
</field>
</fields>
</ruleset>
</type>
</validation>