Если разработчик приложения предоставляет реализацию интерфейса javax.faces.validator.Validator для выполнения проверки, вы должны зарегистрировать этот кастомный валидатор либо с помощью аннотации @FacesValidator, как описано в Реализации интерфейса валидатора, либо с помощью XML-элемента validator в файле конфигурации приложения:
<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>
Атрибуты, указанные в теге validator, переопределяют любые параметры в аннотации @FacesValidator.
Элементы validator-id и validator-class являются обязательными элементами. Элемент validator-id представляет идентификатор, под которым должен быть зарегистрирован класс Validator. Этот идентификатор используется классом тега, соответствующим кастомному тегу validator.
Элемент validator-class представляет полное имя класса Validator.
Элемент attribute идентифицирует атрибут, связанный с реализацией Validator. Элементы attribute-name и attribute-class обязательны. Элемент attribute-name ссылается на имя атрибута в том виде, в каком оно отображается в теге validator. Элемент attribute-class определяет полное имя класса Java, связанного с атрибутом.