Проверка бина и подтверждение пароля, электронная почта существует

Я использую проверку bean-компонентов с аннотациями в своем проекте JSF. Мне было интересно, как создать аннотации для подтверждения пароля и как проверить, что адрес электронной почты не существует в базе данных?


person Mahmoud Saleh    schedule 22.09.2011    source источник


Ответы (1)


Этот вид проверки на самом деле не применим к сущностям. User объекты не содержат двойных полей пароля, вместо этого они содержат только одно поле пароля. Также сущности не обязательно содержат поле электронной почты со значением, которого нет в БД. Вы получите ложные ошибки всякий раз, когда захотите отредактировать существующий объект.

Я предлагаю вам сделать эту проверку на стороне представления, прямо перед тем, как сущность будет сохранена в БД. В JSF для этого можно использовать Validator. Вы можете найти примеры валидатора подтверждения пароля в ответах на этот вопрос: Как проверить два поля пароля с помощью ajax?

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