The Java EE 7 Tutorial

Previous
Next

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.

Previous
Next