Как включить проверку бина JSR-303 в Facelets?

Я использую Spring CDI и настраиваемую область «Просмотр». (См. эту о том, как это работает.)

Компонент представления аннотирован правилами проверки JSR-303 следующим образом:

@Scope("view")
public class MyBean implements Serializable {

    String message;

    @NotNull
    @Size(min = 10)
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public void action1() {
        ...
    }

}

И форма пользователя:

...
<h:form id="form1">
    <h:inputText name="message" value="${myBean.message}" />
    <p:commandButton value="Update" actionListener="${myBean.action1}" />
</h:form>

Однако проверка не работает. Я что-то пропустил в faces-config.xml? Я предполагаю, что должны быть задействованы некоторые прокси-классы, которые могут быть сгенерированы AspectJ weaver или около того. Правильно?


person Xiè Jìléi    schedule 25.08.2011    source источник
comment
Вы используете JSF 1.x или 2.x?   -  person Dar Whi    schedule 30.08.2011
comment
@dar-whi: я действительно использую Facelets. Я думаю, это JSF 2.x.   -  person Xiè Jìléi    schedule 31.08.2011
comment
Facelets уже существовал до JSF 2.x - вопрос все тот же.   -  person Dar Whi    schedule 31.08.2011


Ответы (1)


Проверка JSR 303 для JSF автоматически включается, если вы добавляете jar реализации в путь к классам.

person Xiè Jìléi    schedule 10.10.2011