Вопросы о проверке бина против проверки JSF? - PullRequest
3 голосов
/ 25 сентября 2011

У меня есть несколько вопросов о валидации Bean и JSF, в настоящее время я использую валидацию Bean:

  1. При проверке JSF проверка работает только на стороне клиента, на сервер не отправляется запрос, а проверка Bean работает на сервере?
  2. Если javascript отключен, оба будут работать JSF и Bean Validation или только bean validation?
  3. Каковы недостатки валидации Бина, если таковые имеются?

1 Ответ

4 голосов
/ 25 сентября 2011
  1. Это не правда.Проверки применяются в течение жизненного цикла jsf с помощью Process Validations.

    "Преобразование и проверка происходят, когда среда выполнения JSF вызывает метод processValidators () для каждого компонента в иерархии представления. ProcessValidators ()Метод сначала инициирует любое преобразование данных, которое требуется, прежде чем проверять значение компонентов в соответствии с правилами проверки приложения. Если в процессе преобразования или проверки есть какие-либо ошибки, компонент помечается как недействительный, и сообщение об ошибке генерируется и помещается в очередь в объекте FacesContext.Если компонент помечен как недействительный, JSF переходит непосредственно к фазе ответа рендеринга, которая отображает текущее представление с сообщениями об ошибках проверки в очереди. Если ошибок проверки нет, JSF переходит к фазе обновления значений модели ».- johnderinger.wordpress.com

    Вы также можете найти эту информацию в спецификации .

  2. Обаработа без javascript.

  3. Это больше вопрос стиля программирования.Я думаю, что валидация лучше выполняется в модели, чем в представлении, потому что она удаляет логику из представления и делает ее более СУХОЙ (не повторяйте себя).Если вы используете бин несколько раз, вам придется написать валидацию только один раз с бином.Вы также должны знать, что ограничения перезаписи проверки bean-компонентов в JSF.

    Более подробную информацию о том, как использовать проверку bean-компонентов, можно найти здесь и спецификации здесь .Для получения дополнительной информации об интегрированной проверке JSF, вы должны посетить этот сайт .

...