Dato che ho un'applicazione web con un modulo rivolto all'utente che memorizzerà le informazioni in un database (che verrà utilizzato anche da altre applicazioni), mi sembra che valga la pena di convalidare 3 volte:
Sul lato client web tramite javascript per salvare i postback sul server quando l'utente inserisce dati errati o dimentica un campo
Dal lato server perché non ci si può fidare che il client Web abbia convalidato i dati e salvi le chiamate al database quando i dati non sono validi
Dal lato del database perché questo è l'unico modo per garantire che i dati memorizzati nel database siano validi.
Da un lato, questo sembra eccessivo e viola il principio ASCIUTTO. D'altro canto, le prestazioni sarebbero notevolmente diverse se dovessi inviare la richiesta, inviarla al database e restituire un errore generato dal database per informazioni errate o mancanti. Qual è una quantità ragionevole di convalida?