Validazione lato server... ma come funziona????

di Stefano Mostarda, in .NET,

E' la domanda che mi sono posto agli albori del mio studio del framework (si parla del 2002) ed è una delle prime cose che ho scoperto.

In particolare mi sono chiesto come facesse il validator a sapere quale fosse la proprietà, del controllo da validare, da prendere in considerazione (Text per i TextBox, ListItem.Value per DropDownList e ListBox, ecc. ecc.). Quello che era il mio pensiero su quale fosse la tecnica adottata è stato confermato. Ogni controllo che necessita di validazione ha un attributo chiamato ValidationProperty che contiene il nome della proprietà da validare.

Quindi ecco il funzionamento della validazione:
Per ogni controllo di validazione:

  1. Viene invocato il metodo Validate del validator che internamente chiama il metodo EvaluateIsValid;
  2. Questo chiama il metodo GetControlValidationValue passsandogli il valore della proprietà ControlToValidate. Qui, prima viene cercato il controllo in base al nome, poi, tramite Reflection, viene cercato il valore dell'attributo ValidationProperty, ed infine con il nome della proprietà trovato viene estratto il valore da controllare.
  3. Una volta ricevuto il valore il validator esegue il tipo di controllo da effettuare.
Mentre scrivevo il post mi è venuto in mente un altro caso in cui l'attributo ValidationProperty viene utilizzato: quando, nel PropertyEditor, VS offre la scelta dei controlli che possono essere validati (proprietà ControlToValidate del validator). La suddetta proprietà ha associato un TypeConverter che si va a prendere tutti i controlli della pagina che hanno l'attributo ValidationProperty e restituisce un ArrayList con i nomi di questi.

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.

Nella stessa categoria
I più letti del mese