Validazione DataSet rispetto alla convalida MVC ASP.NET

0

Ho una domanda generale su dove mettere la convalida.

Ho un mvc asp.net che ottiene / imposta i dati da / a un DataSet. Attualmente, i campi nel modulo sono convalidati dal modulo stesso (ad esempio per lunghezza, intervallo, ecc. Non validi). È buona o buona idea trasferire questi controlli di convalida nel DataSet? Lo svantaggio è che devo attivare le chiamate di aggiornamento al DataSet per ottenere la colonna con errori. Nell'usare i moduli, posso rilevare l'errore in precedenza.

O dovrei usare la convalida per entrambi?

Per ulteriore considerazione - è possibile che riutilizzerò questo assembly del Dataset con un altro progetto (un servizio WCF?). E mi piacerebbe ri-utilizzare lo stesso codice di convalida quando possibile.

    
posta krypru 20.01.2014 - 15:15
fonte

1 risposta

1

Dovresti considerare di convalidare gli input nel modulo sia sul livello dell'interfaccia utente sia sul livello di servizio.

Convalidare sul livello dell'interfaccia utente significa che la tua applicazione apparirà più reattiva e può istantaneamente fornire un feedback all'utente su cosa manca o cosa è sbagliato. La convalida nell'interfaccia utente evita una chiamata di rete e semplifica l'identificazione di ciò che è sbagliato perché non è necessario scavare in un oggetto e trovare un elenco di errori da segnalare.

La convalida a livello di servizio è necessaria poiché il tuo servizio non dovrebbe fidarsi ciecamente di ciò che gli viene passato da un client. Se ne hai fatto uno solo, devi convalidare al tuo livello di servizio.

Sfortunatamente, la convalida su entrambi i livelli significa che probabilmente duplicherete parte del codice di convalida. Ma questo è il compromesso che devi fare per ottenere un'interfaccia utente reattiva con una notifica rapida dei problemi e un servizio sicuro.

    
risposta data 20.01.2014 - 15:40
fonte

Leggi altre domande sui tag