Panoramica dei controlli di convalida ASP.Net

I controlli di convalida ASP .Net forniscono un meccanismo per controllare l'input dell'utente prima di inviarlo al server. Ciò impedisce la memorizzazione di dati senza scrupoli, dannosi e insensati nel server / database. In sostanza, questi controlli di convalida assicurano che i dati compilati dall'utente nei campi del modulo siano autentici e in linea con i requisiti.

Come funzionano?

Per comprendere il funzionamento dei controlli di convalida ASP.Net, diamo un'occhiata alla classe che eredita tutti i controlli. Se non hai familiarità con il concetto di eredità, ti consigliamo di capirlo prima di procedere.

La classe BaseValidator

Tutti i controlli di convalida in ASP.Net ereditano le proprietà e i metodi della classe BaseValidator. Aiuta a creare una suite generica di controlli di validazione. Le proprietà e i metodi importanti della classe BaseValidator sono:

  • ControlToValidate: indica il controllo di input da convalidare. Deve essere un valore univoco in tutto il modulo. Questo attributo è obbligatorio in quanto viene utilizzato per associare il controllo di input a un controllo di validazione.
  • Abilitato: abilita o disabilita il validatore.
  • Testo: contiene il messaggio da visualizzare in caso di errore di convalida.
  • ErrorMessage: il valore in questo attributo viene visualizzato quando si utilizza il controllo ValidationSummary o quando manca la proprietà Text.
  • IsValid: un attributo booleano che indica se il controllo è valido o meno.
  • Convalida (): questo metodo riconvalida il controllo e aggiorna IsValid

Tipi di controllo di convalida ASP.Net

Di seguito sono riportati i tipi di controlli di convalida ASP.NET:

1. RequiredFieldValidator

Questo è un controllo di validazione elementare. Quasi tutti i moduli hanno alcuni campi che devono essere compilati dall'utente prima di procedere. Il validatore di campo obbligatorio garantisce che tali campi non vengano lasciati vuoti.

Sintassi

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
InitialValue="aPlaceholderValue">

Si noti l'attributo Valore iniziale nella sintassi sopra. Questo sebbene funga da segnaposto, inoltre, la convalida fallisce se il valore del campo non cambia da InitialValue a perdere focus.

Nota : non preoccuparti molto dell'attributo runat = "server " . Viene utilizzato per indicare ad ASP.Net che il controllo è disponibile anche sul lato server. Rendere disponibile il controllo sul lato server aiuta ad accedere al controllo nella logica code-behind.

2. RangeValidator

Il controllo RangeValidator specifica semplicemente l'intervallo consentito entro il quale deve rientrare il valore di input. Questo è molto utile per valori di input numerici come età o per valori di input Date.

Sintassi

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="Integer" MinimumValue=”0” MaximumValue=”100”>

Esistono tre proprietà aggiuntive di questo controllo

  • Tipo : specifica il tipo di dati nel campo di input. Il valore viene convertito in questo tipo prima della convalida. Viene generata un'eccezione se il valore non può essere convertito nel tipo specificato. I seguenti tipi di dati possono essere confrontati in RangeValidator:
    1. Corda
    2. Numero intero
    3. Doppio
    4. Data
    5. Moneta
  • MinimumValue : specifica il valore minimo che il campo può contenere.
  • MaximumValue : specifica il valore massimo che il campo può contenere. Entrambi i valori minimo e massimo sono invalide inclusioni.

3. RegularExpressionValidator

  • Le espressioni regolari, o semplicemente Regex, sono schemi che definiscono il formato del testo. Se il testo è nello stesso formato, Regex restituisce true, altrimenti false. Si consiglia di leggere su Regex se non si ha familiarità con esso. Questo ti darà anche un'idea di come si formano i pattern Regex e come decifrare un pattern Regex.
  • Pertanto, un RegularExpressionValidator è un controllo di validazione molto versatile. Corrisponde al testo di input rispetto al modello specificato nella proprietà ValidationExpression.

Sintassi -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ValidationExpression=”aRegexPattern”>

Un esempio di un modello Regex può essere (az) (0-9). Ciò indica che un testo deve iniziare con un alfabeto e seguire un numero.

4. CompareValidator

  • Il controllo CompareValidator confronta il valore di un controllo con un valore fisso o un valore in un altro controllo.

Sintassi -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="string" ControlToCompare=”ControlToValidateIdOfAnotherControl”
ValueToCompare=”aFixedValue” Operator=”Equal”>

Ci sono tre nuove proprietà in questo validatore:

  • ControlToCompare : contiene l'ID ControlToValidate di un'altra forma di controllo. Viene quindi confrontato il valore di entrambi i campi del modulo.
  • ValueToCompare - Un valore fisso con cui deve essere effettuato il confronto.
  • Operatore : il tipo di confronto. I valori consentiti in questo attributo sono:
    1. Pari
    2. Non uguale
    3. Più grande di
    4. GreaterThanEqual
    5. Meno di
    6. LessThanEqual
    7. DataTypeCheck

5. CustomValidator

  • ASP.Net consente inoltre la libertà di scrivere il proprio validatore. Ciò facilita il compito di uno sviluppatore di convalidare il modulo sul lato client stesso. Consente inoltre di implementare convalide più complesse. Le convalide specifiche dell'azienda o dell'applicazione possono essere scritte utilizzando validatori personalizzati.
  • Il codice di convalida personalizzato viene scritto in una funzione nella pagina code-behind e il nome della funzione viene passato come attributo alla classe CustomValidator. La convalida personalizzata può essere eseguita sul lato client o sul lato server.
  • La proprietà ClientValidationFunction specifica che la convalida deve essere eseguita sul lato client. Tale codice di convalida deve essere scritto in alcuni linguaggi di scripting come JavaScript, VBScript, ecc.
  • Il gestore eventi ServerValidate viene utilizzato quando è necessario eseguire la convalida sul lato server. La routine di convalida sul lato server è scritta in C #, VB .Net o qualsiasi altro linguaggio .Net.

Sintassi -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ClientValidationFunction=”functionName”>

6. ValidationSummary

Il controllo ValidationSummary non esegue alcuna convalida. Il suo scopo è quello di visualizzare un riepilogo di tutti gli errori sulla pagina.

Sintassi -

runat="server" DisplayMode=”BulletList” ShowSummary=”true”
HeaderText=”List of Errors” />

Conclusione - Controlli di convalida ASP .Net

Questo articolo illustra le basi dei controlli di validazione in ASP .Net. C'è molto altro da scoprire quando inizi a creare il tuo modulo web. Per programmatori avanzati, raccomandiamo la documentazione MSDN per una comprensione approfondita dell'argomento.

Articoli consigliati

Questa è stata una guida ai controlli di convalida ASP.Net. Qui abbiamo discusso l'introduzione, i tipi con la sintassi del controllo di convalida ASP.Net. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più-

  1. Ciclo di vita della pagina ASP.NET
  2. Che cos'è ASP.NET?
  3. JSP vs ASP
  4. Asp.Net Domande di intervista MVC
  5. Funzioni Regex in Python (esempio)

Categoria: