Sono 100% a bordo con il caso che uno dovrebbe definitivamente utilizza sia la convalida dei dati 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. La maggior parte delle volte non c'è un piano o modello - le convalide sono scritte nella specifica del modello e le convalide sono scritte nel modulo sulla vista. (Nota: la maggior parte della mia esperienza di prima mano è con Rails, Sinatra e PHP con jQuery)
Rimuginando, sembra che non sarebbe difficile creare un generatore che, dato un insieme di convalide (ad esempio nome del modello, campo (i), condizione), possa produrre sia il lato client necessario che il server materiale laterale. In alternativa, un tale strumento potrebbe richiedere le convalide sul lato server (come il codice validates
in un modello ActiveRecord) e generare convalide sul lato client (come i plugin jQuery, che verrebbero quindi applicati al modulo.
Ovviamente, quanto sopra è solo un "hey ho avuto questa idea" di riflessione, e non una proposta formale. Questo tipo di cose è sicuramente più difficile di quello che sembrava quando l'idea mi ha colpito.
Questo mi porta alla domanda: Come ti appresti a progettare una tecnica "scrivi una volta, esegui su server e client" per la convalida dei dati?
Argomenti correlati: strumenti come quelli esistenti per qualsiasi framework o tecnologia client-server? Quali sono i principali trucchi o sfide con il tentativo di mantenere solo un set di convalide?