ASP.Net  »  Guide  »  Guida ASP.NET 2.0 

Validazione per gruppi



In ASP.NET 2.0 si possono raggruppare insiemi di controlli da validare. Ogni gruppo viene validato indipendentemente dagli altri. Questa è grossa novità in quanto nella precedente versione di ASP.NET si poteva validare solo una pagina per volta. Per approfondire questa nuova caratteristica, realizziamo una pagina con 2 componenti "Panel", contenenti ciascuno una TextBox ed un Button.

Con il VWD, apriamo un nuovo progetto e chiamiamolo "Lezione8". In Design view della Default.aspx mettiamo il primo pannello, "Panel1", con il logo di Google, la casella di testo ed il bottone. Subito sotto il primo, posizioniamo il secondo pannello, "Panel2", che contiene solo la casella di testo ed il bottone.

Nel Panel2 inseriamo dei codici ISBN. La pagina dovrebbe svolgere alcuni compiti che non precisiamo per i nostri scopi (ad esempio potrebbe visualizzare i dettagli di un libro).

Associamo alla casella di testo per l'ISBN un RequiredFieldValidator trascinando il controllo dal gruppo di controlli Validation all'area di lavoro, sempre in Design view. Nella finestra "Proprietà" del RequiredFieldValidator, impostiamo il controllo da validare e scriviamo il messaggio di errore da visualizzare.

Ora possiamo dividere i controlli in 2 gruppi di validazione. Cominciamo col definire 2 gruppi, SearchGroup e BooksGroup e su ogni controllo impostiamo il campo ValidationGroup, in questo modo assegnamo ciascun controllo ad uno dei 2 gruppi. I controlli in cui non modifichiamo il ValidationGroup, appartengono al default group e si comportano come nella precedente versione di ASP.NET.

Passiamo in modalitù 'Origine' (Source view) ed osserviamo il codice prodotto:

Figura 1. Pannelli con gruppi di validazione separati

Gruppi di validazione separati - Click per ingrandire

In definitiva abbiamo associato a RequiredFieldValidator1 ed a ButtonISBN il gruppo di validazione "BooksGroup" ed a ButtonCerca il gruppo "SearchGroup".

Prima di provare la nostra applicazione, sistemiamo il campo di ricerca di Google in modo che funzioni. Con un doppio click su ButtonCerca in Design view, apriamo la pagina del codice ed implementiamo il relativo gestore degli eventi come illustrato in figura:

Figura 2. Codice per l'evento Click su ButtonCerca

Codice per l'evento Click su ButtonCerca

Testiamo ora la nostra pagina con F5.

Figura 3. L'applicazione in funzione

L'applicazione in funzione

Inseriamo un nome nel campo di ricerca, ad esempio "pippo", otteniamo:

Figura 4. Test della ricerca

Test della ricerca

Se clicchiamo su 'Cerca ISBN' senza inserire nulla nella casella di ricerca, appare il messaggio d'errore. È corretto, perchè si attiva il ValidationGroup per cui è settato il validatore:

Figura 5. Test del validatore

Test del validatore

In ASP.NET 2.0, i controlli di validazione supportano la proprietà SetFocusOnError in modo da spostare il focus nel controllo che è stato validato in caso di non validazione.

È possibile scaricare il sorgente dell'esempio della presente lezione da qui.

Ultimi articoli ASP.Net

LINQ e la trappola della 'deferred execution'

Una "trappola" in cui si può incappare utilizzando il risultato di...

C#, le Custom Type Conversion

Conversioni personalizzate tra classi, creare metodi particolari per...

Introduzione a Entity Framework

Il framework ORM messo a disposizione da .NET

Repeater: visualizzare un feed RSS

Utilizzare il controllo XMLDataSource e sfruttare il metodo XPath()...

Repeater, il server control "semplice"

Cos'è e come funziona il controllo Repeater

Altri articoli

Guide ASP.Net

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Guida Visual Studio 2010

L'ambiente di sviluppo di riferimento per sviluppare applicazioni su...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto