2010-09-17 3 views
0

Я узнаю о проверке bean. Я создал простую форму с полями ввода имени пользователя и пароля, которые привязаны через бэк-файл к моделям (Пользовательскому) имени пользователя и паролю. Я пометив их с аннотацией:h: сообщения не выдают

@Id 
@NotNull(message="Username cannot be empty") 
private String username; 
@NotNull(message="Password cannot be empty") 
private String password; 

Теперь на странице с этой формой я поставил <h:messages/> внутри <h:form>...</h:form>. Я отправляю пустую форму, я перенаправлен на ту же страницу (я возвращаю null в методе действий в бэк-файле), но не отображаются сообщения. Что я делаю не так?

ответ

1

Решение вместо использования @NotNull, используйте @Size, потому что пустое поле ввода на самом деле пустая строка, а не null.

1

Чтобы получить работу @NotNull, вам действительно нужно, чтобы JSF установил пустые строки как null. В JSF 2.0 вы можете сделать это, добавив следующий контекст параметров в web.xml:

<context-param> 
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name> 
    <param-value>true</param-value> 
</context-param> 

Я не могу сказать из опыта, если это будет вызвать @NotNull, но в теории это должно быть. Попробуйте.

 Смежные вопросы

  • Нет связанных вопросов^_^