Я использую проверку bean-компонентов с аннотациями в своем проекте JSF. Мне было интересно, как создать аннотации для подтверждения пароля и как проверить, что адрес электронной почты не существует в базе данных?
Проверка бина и подтверждение пароля, электронная почта существует
Ответы (1)
Этот вид проверки на самом деле не применим к сущностям. User
объекты не содержат двойных полей пароля, вместо этого они содержат только одно поле пароля. Также сущности не обязательно содержат поле электронной почты со значением, которого нет в БД. Вы получите ложные ошибки всякий раз, когда захотите отредактировать существующий объект.
Я предлагаю вам сделать эту проверку на стороне представления, прямо перед тем, как сущность будет сохранена в БД. В JSF для этого можно использовать Validator
. Вы можете найти примеры валидатора подтверждения пароля в ответах на этот вопрос: Как проверить два поля пароля с помощью ajax?
person
BalusC
schedule
22.09.2011
я следовал примеру здесь: balusc.blogspot.com/2007/ 12/validator-for-multiple-fields.html, но он показывает мне сообщение об ошибке с синим цветом и вне формы, не показывая сообщение рядом с полем подтверждения, есть идеи?
- person Mahmoud Saleh; 22.09.2011
Это означает, что у вас нет
<h:message>
в поле подтверждения или вы использовали ajax и не повторно отображали это поле. Обратите внимание, что этой статье почти 4 года, и она нацелена на JSF 1.2 без суеты ajax.
- person BalusC; 22.09.2011
я не хочу проверять пароль с помощью ajax, просто хочу обычную проверку при отправке формы, любые ссылки на то, как это делается в jsf 2, это похоже на ваш старый пост?
- person Mahmoud Saleh; 23.09.2011
Да, он должен одинаково хорошо работать в JSF2. Связанный ответ также, вам просто нужно удалить
<f:ajax>
материал. Это подтверждает только обратное. Сообщение появляется для поля пароля, а не для поля подтверждения.
- person BalusC; 23.09.2011