«Bean validation» - это правильная проверка на стороне сервера, которая является одной из нескольких проверок, которые вы можете использовать в JSF. JSF уже давно имеет свои собственные валидации в представлении, но с тех пор, как была введена JSR-303, валидация Bean, она также поддерживается, и многие валидации можно было бы удалить из «представления» модели.
Проверка бина - это не то же самое, что и не следует путать с проверкой вручную в управляемых бинах, например, когда вызывающие сеттеры или методы действий. Фаза «проверки» JSF уже прошла, поэтому возвращать сообщения становится сложнее.
Поскольку не все можно (легко) сделать в JSF-303, иногда все же необходимо проводить дополнительные проверки в конкретных JSF.
Проверка на стороне клиента PrimeFaces должна рассматриваться как дополнение к проверкам на стороне сервера, она не заменяет их. Он может использовать многие из существующих проверок JSF и JSR-303 и автоматически выполнять их на стороне клиента без какой-либо работы с вашей стороны. Для более сложных проверок необходимо разрабатывать пользовательские проверки на стороне клиента так же, как и на клиентских платформах.
Из документации PrimeFaces:
Платформа PrimeFaces Client Side Validation (CSV) является наиболее полной
и передовое CSV-решение для JavaServer Faces и Java EE. CSV
Поддержка JSF - непростая задача, она не так проста, как интеграция
Сторонний плагин javascript, поскольку JSF имеет свой жизненный цикл, концепции
как преобразование, а затем проверка, частичная обработка, FaceSMessages
и многое другое. Реальный CSV для JSF должен быть совместим со стороной сервера
реализация должна делать то, что делает JSF, чтобы пользователи не
испытайте различия в поведении на стороне клиента и на стороне сервера.
- Совместимо с реализацией на стороне сервера.
- Преобразование и проверка происходит на стороне клиента.
- Частичная поддержка процесса и обновления для Ajax.
- Поддержка I18n вместе с сообщениями, специфичными для компонентов.
- Рендереры на стороне клиента для компонентов сообщений.
- Легко написать пользовательские конвертеры и валидаторы клиента.
- Глобальное или компонентное включение / отключение.
- Усовершенствованная интеграция проверки компонентов.
- Небольшое использование HTML5.
Таким образом, вопрос не в клиентской или серверной стороне, а в том, хотите ли вы / можете использовать проверки на стороне клиента для улучшения взаимодействия с пользователем, поэтому некоторые из (очень немногих) недостатков JSF (обходные пути для валидаций) ) уменьшается.