Дело в том, что идеологически "серверная" валидация и UX валидация -- разные вещи. UX валидация скорее для увеличения удобства заполнения полей, а серверная валидация для принятия бизнес решения. Часть кода действительно можно совместить, но лично я пишу всегда отдельные логики для фронта и бека. Да, это чуть дольше, но дьявол в мелочах =)