Element validationElement = DomHelper.getChildElement(datatypeElement, FormsConstants.DEFINITION_NS, "validation");
if (validationElement != null) {
Element[] validationElements = DomHelper.getChildElements(validationElement, FormsConstants.DEFINITION_NS);
for (int i = 0; i < validationElements.length; i++) {
ValidationRule rule = datatypeManager.createValidationRule(validationElements[i]);
if (rule.supportsType(datatype.getTypeClass(), datatype.isArrayType())) {
datatype.addValidationRule(rule);
} else {
throw new Exception("Validation rule \"" + validationElements[i].getLocalName() + "\" cannot be used with type <" + (datatype.isArrayType() ? "array of " : "") + datatype.getTypeClass().getName() + ">, error at " + DomHelper.getLocation(validationElements[i]));
}
}