Как отключить всю проверку бина в JSF? - PullRequest
2 голосов
/ 10 октября 2011

Я хочу обработать проверку JSR-303 самостоятельно, т.е. получить фабрику проверки и вызвать метод validate самостоятельно:

class FormBean {
    void saveForm() {
         if (! doValidate()) {
             FacesContext.addMessage(...);
             return;
         }
         ...
     }
     void doValidate() { ... }
 }

Есть ли способ отключить проверку бина, встроенную в JSF? (Не то, чтобы immediate="true", который будет не только обходить проверку, но и обходить фазы модели обновления)

1 Ответ

9 голосов
/ 10 октября 2011

Вы можете отключить его, отключив валидатор для полей:

<h:inputText value="#{bean.name}">
  <f:validateBean disabled="true"/>
</h:inputText>

Обновление : Чтобы отключить проверку bean-компонента для каждого поля ввода по умолчанию, попробуйте установить переменную контекста: javax.faces.validator.DISABLE_DEFAULT_BEAN_VALIDATOR со значением ' true

...