Utilizzare i validator controls di ASP.NET

di Massimo Cappellesso, in ASP.NET,
  • 0
  • 0
  • 0
  • 4,17 KB

Nella progettazione di form web, la parte più noiosa è forse la programmazione della convalida del form stesso. Infatti per garantire la massima compatibilità tra i vari browser esistenti è necessario scrivere sia codice lato-client in JavaScript, sia del codice lato-server come maggiore sicurezza di riuscita della convalida, nel caso qualche utente avesse disabilitato l'esecuzione degli script lato-client.

ASP.NET, per risolvere questo 'problema', ci mette a disposizione dei controlli per la convalida, noti come validator controls .

Questi interessano la maggior parte dei contesti di convalida, oltre alla possibilità di utilizzare un comando di convalida personalizzabile.

Ecco un elenco dei validator controls disponibili:

  • <ASP:RequiredFieldValidator>: verifica se il comando convalidato contiene un valore;
  • <ASP:CompareValidator> verifica se il valore del comando convalidato è uguale al valore di un altro comando o a un valore specifico;
  • <ASP:RangeValidator> verifica se il valore del comando convalidato è compreso in un intervallo numerico o è contenuto in un testo specifico;
  • <ASP:RegularExpressionValidator> verifica se il valore del comando convalidato corrisponde ad una espressione regolare;
  • <ASP:CustomValidator> esegue un comando di convalida personalizzabile; se il comando da convalidare non contiene nessun valore non si verificherà nessuna convalida. Per evitare questo problema si può utilizzare in comando <ASP:RequiredFieldValidator>
  • <ASP:ValidationSummary> visualizza il riepilogo di tutti gli errori riscontrati in fase di convalida.

Usare i validator controls

Il principio di utilizzo dei validator controls si basa sull'associazione di uno o più validator controls (che vengono legati tra loro con la logica AND) a ciascuno dei comandi di input da convalidare.

Quando l'utente invia la pagina, per esempio mediante un comando submit, ogni comando di convalida controlla se il valore immesso corrisponde ai criteri di convalida. Una volta che tutti i validator controls hanno eseguito la verifica, viene settata la proprietà di pagina Page.IsValid.

Se anche solo uno dei controlli non passa il test di convalida l'intera pagina viene 'settata' come invalida ed i controlli che hanno fallito il test visualizzano un messaggio di errore.

Inoltre, se impostato, il comando <ASP:ValidationSummary> visualizzerà il riepilogo degli errori contenuti nella pagina.

Visualizzazione dei messaggi di errore

I validator controls non sono visibili nelle pagine HTML. Comunque, nel caso di errori nel processo di convalida, viene prodotto un messaggio di errore visualizzabile in diversi modi:

  • Posizione: ogni comando di convalida visualizza, dopo il controllo da convalidare, il messaggio di errore;
  • Sommario: tutti i messaggi di errore vengono raggruppati e visualizzati in un punto predefinito della pagina. Se il browser utilizzato è Internet Explorer 4.0 o superiore è possibile visualizzare il sommario degli errori all'interno di una message box;
  • Posizione e Sommario: gli errori vengono visualizzati sia dopo il controllo da convalidare, sia raggruppati in un punto predefinito della pagina. Questa opzione può essere utilizzata per esempio per visualizzare accanto al controllo una descrizione breve o un suggerimento relativo al controllo stesso e una descrizione più estesa dell'errore nel sommario;
  • Personalizzata: è possibile creare una visualizzazione degli errori personalizzata utilizzando le informazione sugli errori fornite.

Convalida lato-server e lato-client

Se il browser con cui si sta visualizzando la pagina supporta lo standard DHTML, la convalida avviene anche lato-client: gli errori vengono intercettati in tempo reale e i messaggi d'errore visualizzati nel momento in cui il campo da convalidare non è più quello corrente (per esempio quando l'utente preme il tasto TAB per spostarsi al comando successivo).

Nel caso in cui non si voglia implementare la convalida lato-client è possibile disattivarla impostando la proprietà EnableClientScript del comando di convalida su False.

La convalida lato-server viene comunque sempre effettuata, a garanzia dell'effettiva integrità dei dati.

5 pagine in totale: 1 2 3 4 5

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti