Il controllo CustomValidator consente di creare un sistema di convalida personalizzata lato server che visualizza un messaggio di errore se l’utente inserisce un valore non conforme in un campo.

Inserire il controllo CustomValidator

Inserire il controllo CustomValidator dalla casella degli strumenti, accanto al controllo da verificare (nell’esempio il controllo TextBox1) e impostare le proprietà:

  • ControlToValidate, con il controllo da verificare (nell’esempio il controllo Textbox1)
  • ErrorMessage, con il testo del messaggio di errore
  • ForeColor, con il colore rosso

Il risultato è visibile nella seguente immagine.

ASP.NET: usare il controllo CustomValidator

ASP.NET: usare il controllo CustomValidator

Fare doppio clic sul controllo CustomValidator per creare il metodo per l’evento ServerValidate e all’interno del metodo CustomValidator1_ServerValidate() digitare il seguente codice.

if (args.Value.Length >= 8)
 {
 args.IsValid = true;
 }
 else {
 args.IsValid = false;
}

Nell’esempio viene controllata la lunghezza della stringa inserita all’interno del controllo TextBox1 e se è maggiore o uguale a 8 il metodo imposterà la proprietà args.IsValid con il valore true, indicando che il valore immesso dall’utente ha superato la convalida, In caso contrario la proprietà args.IsValid avrà il valore false e sarà visualizzato il messaggio di errore.

La proprietà Page.IsValid

Il valore della proprietà isValid influisce sulla validità dell’intera pagina che perciò può essere verificata all’interno del metodo associato all’evento click del controllo Button, così da condizionare l’esecuzione del codice alla validità di tutti i valori immessi dall’utente nei vari campi.

Per verificare la validità della pagina, inserire un controllo Label accanto al controllo Button e poi, fare doppio clic su quest’ultimo per scrivere il codice nel metodo Button1_Click().

if (Page.IsValid) { 
 Label1.Text = "La pagina è valida";
 } else { 
 Label1.Text = "La pagina non è valida";
}

La proprietà Page.IsValid avrà il valore true se tutti i valori immessi all’interno dei controlli hanno superato la convalida dei dati, come nella seguente immagine.

ASP.NET: usare il controllo CustomValidator e la proprietà page.IsValid

ASP.NET: usare il controllo CustomValidator e la proprietà page.IsValid

Al contrario, nel caso in cui anche un solo controllo non superi la convalida il valore di Page.IsValid sarà false.

ASP.NET: usare il controllo CustomValidator e la proprietà page.IsValid

ASP.NET: usare il controllo CustomValidator e la proprietà page.IsValid

Per maggiori informazioni consultare il documento Classe CustomValidator del sito Microsoft Developer Network.