Проверка уровня класса в шве / спящем режиме - PullRequest
1 голос
/ 02 декабря 2010

Я реализовал собственный валидатор уровня класса в своем приложении seam / hibernate. В моей форме <s:validateAll>. Этот тег не вызывает проверку уровня класса.

Похожие проблемы: https://jira.jboss.org/browse/JBSEAM-1878

Каков наилучший способ для меня вызвать эту проверку с использованием Seam / JSF / RichFaces?

1 Ответ

1 голос
/ 03 декабря 2010

Использовали ли вы атрибут validator? Вы должны использовать это вместе с s:validateAll или s:validate

Возможно, это не то, что вы подразумеваете под проверкой уровня класса hibernate, но по крайней мере это сработает

Например:

<h:inputText value="#{foo.bar}" validator="#{validator.checkFoo}" required="true">
  <s:validate/>
</h:inputText>

И валидатор

@Name("validator")
@Scope(ScopeType.EVENT)
@BypassInterceptors
public class Validator {
    public void checkFoo(FacesContext context, UIComponent toValidate, Object value) {
        //Do some check and if incorrect set this value
        ((UIInput) toValidate).setValid(false);
    }
}
...