Estou 100% satisfeito com o caso de que definitivamente se deve usar validações de dados do lado do cliente e do servidor.
No entanto, nas estruturas e ambientes em que trabalhei, as abordagens que vi nunca foram SECA. Na maioria das vezes, não há plano ou padrão - as validações são escritas na especificação do modelo e as validações são escritas no formulário na exibição. (Nota: A maior parte da minha experiência em primeira mão é com Rails, Sinatra e PHP com jQuery)
Pensando bem, parece que não seria difícil criar um gerador que, dado um conjunto de validações (por exemplo, nome do modelo, campo (s), condição), pudesse produzir o material necessário para o cliente e para o servidor. Como alternativa, essa ferramenta pode obter as validações do lado do servidor (como o validates
código em um modelo ActiveRecord) e gerar validações do lado do cliente (como os plugins jQuery, que serão aplicadas ao formulário.
Obviamente, o exposto acima é apenas um "ei, eu tive essa idéia", e não uma proposta formal. Esse tipo de coisa é certamente mais difícil do que parecia quando a idéia me atingiu.
Isso me leva à pergunta: como você abordaria o design de uma técnica "escreva uma vez, execute no servidor e no cliente" para validação de dados?
Subtópicos relacionados: Existem ferramentas como essa para estruturas específicas ou tecnologias cliente-servidor? Quais são as principais armadilhas ou desafios ao tentar manter apenas um conjunto de validações?