Если разработчик приложения предоставляет реализацию интерфейса 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, связанного с атрибутом.