Привет всем! Я сейчас разрабатываю веб-приложение и столкнулся с проблемой. Мне нужно сделать валидацию форм и на клиенте, и на сервере. На сервере я использую JSR 303 с Hibernate Validator в Spring 3. А вот как лучше организовать клиентскую валидацию на JavaScript, чтобы не дублировать код? Может есть какие-то готовые решения или библиотеки? Буду благодарен за любые идеи и советы!
Попробуйте использовать jQuery Validation для клиентской валидации. Код можно генерировать из аннотаций JSR 303, чтобы избежать дублирования. Есть решение Hibernate Validator JS, которое синхронизирует правила на сервере и клиенте. А как вы решаете эту задачу?
Для клиентской валидации рекомендую посмотреть в сторону Yup или Joi. Они позволяют описать схему валидации один раз и использовать ее как на фронте, так и на бэке. Можно написать адаптер, который будет конвертировать JSR 303 аннотации в Yup/Joi схемы. Так избежите дублирования кода и сохраните консистентность. На своем проекте я именно так и сделал, работает отлично.