The Java EE 7 Tutorial
16.7 Registering a Custom Validator
If the application developer provides an implementation of the javax.faces.validator.Validator
interface to perform validation, you must register this custom validator either by using the @FacesValidator
annotation, as described in Implementing the Validator Interface, or by using the validator
XML element in the application configuration resource file:
<validator> ... <validator-id>FormatValidator</validator-id> <validator-class> myapplication.validators.FormatValidator </validator-class> <attribute> ... <attribute-name>formatPatterns</attribute-name> <attribute-class>java.lang.String</attribute-class> </attribute> </validator>
Attributes specified in a validator
tag override any settings in the @FacesValidator
annotation.
The validator-id
and validator-class
elements are required subelements. The validator-id
element represents the identifier under which the Validator
class should be registered. This ID is used by the tag class corresponding to the custom validator
tag.
The validator-class
element represents the fully qualified class name of the Validator
class.
The attribute
element identifies an attribute associated with the Validator
implementation. It has required attribute-name
and attribute-class
subelements. The attribute-name
element refers to the name of the attribute as it appears in the validator
tag. The attribute-class
element identifies the Java type of the value associated with the attribute.
Creating and Using a Custom Validator explains how to implement the Validator
interface.
Using a Custom Validator explains how to reference the validator from the page.