h: сообщения не выводят - PullRequest
       30

h: сообщения не выводят

0 голосов
/ 17 сентября 2010

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

@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 в методе действия в компоненте поддержки), но сообщения не отображаются. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 17 сентября 2010

Если вы хотите, чтобы @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, но теоретически это должно быть. Попробуйте.

1 голос
/ 17 сентября 2010

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

...