Вопросы о проверке бина против проверки JSF?

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

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

1 ответ

Решение
  1. Это неправда. Проверки применяются в течение жизненного цикла JSF Process Validations,

    "Преобразование и проверка происходит, когда среда выполнения JSF вызывает метод processValidators() для каждого компонента в иерархии представления. Метод processValidators() сначала инициирует любое преобразование данных, которое требуется, прежде чем проверять значение компонентов в соответствии с правилами проверки приложения. В случае каких-либо ошибок в процессе преобразования или проверки компонент помечается как недействительный, а сообщение об ошибке генерируется и помещается в очередь в объекте FacesContext.Если компонент помечен как недопустимый, JSF переходит непосредственно к фазе ответа рендеринга, которая отображает текущее представление с сообщения об ошибках проверки в очереди. Если ошибок проверки нет, JSF переходит к этапу обновления значений модели ". - http://johnderinger.wordpress.com/2008/01/05/jsf-life-cycle/

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

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

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

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

Другие вопросы по тегам