Externalizing validation rules defined in the datatypes XML file

You can externalize the validation rules defined in the datatypes.xml file as abstract rules.

First, define such rules as abstract rules and then extend this abstract rule in the datatypes.xml file.

For example, let us consider that you have defined a validation rule in the datatypes.xml file as follows:
<DataTypes>
   <DataType Name="Date" PpcSize="12" Size="7" Type="DATE">
      <Validation>
         <Regex MaxLength="200" JavaPattern="^[a-zA-Z0-9.,!\-/+=_:]*$"
             JSPattern="^[a-zA-Z0-9.,!\-/+=_ :]*$"/>
      </Validation>
      <UIType Size="8" UITableSize="15"/>
   </DataType> 
</DataTypes>
You can externalize this validation rule as an abstract rule in the Rule XML file as follows:
<ValidationRules>
   <Rule id="abstract1" ruleType="Regex" abstract="true" maxLength="100" minLength="0">
      <Whitelist>
         <RegularExpression ref="ref1"/>
      </Whitelist>
   </Rule> 
</ValidationRules>
Now, you can reference this abstract validation rule (abstract1) in the datatypes.xml file by adding the extends attribute in the Rule element. For example,
<DataTypes>
   <DataType Name="Date" PpcSize="12" Size="7" Type="DATE">
      <Validation>
         <Rule Extends="abstract1" />
      </Validation>
      <UIType Size="8" UITableSize="15"/>
   </DataType> 
</DataTypes>