Sono d'accordo al 100% nel caso in cui si debbano assolutamente utilizzare convalide dei dati sia lato client che lato server.
Tuttavia, nei framework e negli ambienti in cui ho lavorato, gli approcci che ho visto non sono mai stati ASCIUTTI. Il più delle volte non esiste un piano o modello: le convalide sono scritte nelle specifiche del modello e le convalide sono scritte nel modulo nella vista. (Nota: la maggior parte della mia esperienza di prima mano è con Rails, Sinatra e PHP con jQuery)
Rimuginandolo, sembra che non sarebbe difficile creare un generatore che, dato un insieme di convalide (ad esempio nome del modello, campo (i), condizione), potrebbe produrre sia il materiale necessario sul lato client che lato server. In alternativa, tale strumento potrebbe accettare le convalide sul lato server (come il validates
codice in un modello ActiveRecord) e generare convalide sul lato client (come i plug-in jQuery, che verrebbero quindi applicati al modulo.
Ovviamente, quanto sopra è solo un "ehi ho avuto questa idea" meditando, e non una proposta formale. Questo genere di cose è sicuramente più difficile di quanto sembrasse quando l'idea mi ha colpito.
Questo mi porta alla domanda: come affronteresti la progettazione di una tecnica "Scrivi una volta, esegui su server e client" per la convalida dei dati?
Argomenti correlati: esistono strumenti del genere per quadri particolari o tecnologie client-server? Quali sono i principali problemi o sfide nel tentativo di mantenere solo un set di convalide?