Ricerca…


Sintassi

  • Controllo RequiredFieldValidator: <asp: RequiredFieldValidator ID = "rfvcandidate" runat = "server" ControlToValidate = "ddlcandidate" ErrorMessage = "Scegli un candidato" InitialValue = "Scegli un candidato">
    </ Asp: RequiredFieldValidator>

  • Controllo RangeValidator:

    <asp: RangeValidator ID = "rvclass" runat = "server" ControlToValidate = "txtclass" ErrorMessage = "Inserisci la tua classe (6 - 12)" MaximumValue = "12" MinimumValue = "6" Type = "Intero">
    </ Asp: RangeValidator>

  • CompareValidator Control: <asp: CompareValidator ID = "CompareValidator1" runat = "server" ErrorMessage = "CompareValidator"> </ asp: CompareValidator>

  • CustomValidator:

    <asp: CustomValidator ID = "CustomValidator1" runat = "server" ClientValidationFunction = .cvf_func. ErrorMessage = "CustomValidator">

    </ Asp: CustomValidator>

  • Riepilogo della convalida: <asp: ValidationSummary ID = "ValidationSummary1" runat = "server" DisplayMode = "BulletList" ShowSummary = "true" HeaderText = "Errori:" />

Controlli di validazione

I controlli di convalida ASP.NET convalidano i dati di input dell'utente per garantire che i dati inutili, non autenticati o contraddittori non vengano memorizzati.

ASP.NET fornisce i seguenti controlli di convalida:

  • RequiredFieldValidator
  • RangeValidator
  • CompareValidator
  • RegularExpressionValidator
  • CustomValidator
  • ValidationSummary

Controllo RequiredFieldValidator

Il controllo RequiredFieldValidator garantisce che il campo richiesto non sia vuoto. Generalmente è legato a una casella di testo per forzare l'input nella casella di testo.

La sintassi del controllo è come data:

<asp:RequiredFieldValidator ID="rfvcandidate" 
   runat="server" ControlToValidate ="ddlcandidate"
   ErrorMessage="Please choose a candidate" 
   InitialValue="Please choose a candidate">
   
</asp:RequiredFieldValidator>

Controllo RangeValidator

Il controllo RangeValidator verifica che il valore di input rientri in un intervallo predeterminato.

Ha tre proprietà specifiche:

Proprietà Descrizione
genere Definisce il tipo di dati. I valori disponibili sono: valuta, data,
MinimumValue Specifica il valore minimo dell'intervallo.
Valore massimo Specifica il valore massimo dell'intervallo.

La sintassi del controllo è come data:

<asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass" 
   ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" 
   MinimumValue="6" Type="Integer">
   
</asp:RangeValidator>

CompareValidator Control

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

Ha le seguenti proprietà specifiche:

Proprietà Descrizione
genere Specifica il tipo di dati.
ControlToCompare Specifica il valore del controllo di input da confrontare.
ValueToCompare Specifica il valore costante da confrontare.
ValueToCompare Specifica l'operatore di confronto, i valori disponibili sono: Equal, NotEqual, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual e DataTypeCheck.

La sintassi di base del controllo è la seguente:

<asp:CompareValidator ID="CompareValidator1" runat="server" 
   ErrorMessage="CompareValidator">
   
</asp:CompareValidator>

RegularExpressionValidator

RegularExpressionValidator consente di convalidare il testo di input confrontandolo con un modello di un'espressione regolare. L'espressione regolare è impostata nella proprietà ValidationExpression.

La tabella seguente riepiloga i costrutti di sintassi comunemente utilizzati per le espressioni regolari:

Carattere sfugge Descrizione
\ b Trova un backspace.
\ t Abbina una tab.
\ r Corrisponde a un ritorno a capo.
\ v Abbina una linguetta verticale.
\ f Corrisponde a un avanzamento del modulo.
\ n Abbina una nuova linea.
\ Carattere di fuga

Oltre alla corrispondenza di un singolo carattere, è possibile specificare una classe di caratteri che possono essere abbinati, chiamati metacaratteri.

metacaratteri Descrizione
. Corrisponde a qualsiasi carattere tranne \ n.
[Abcd] Corrisponde a qualsiasi carattere nel set.
[^ Abcd] Esclude qualsiasi carattere nel set.
[2-7a-mA-M] Corrisponde a qualsiasi carattere specificato nell'intervallo.
\ w Corrisponde a qualsiasi carattere alfanumerico e sottolineatura.
\ W Corrisponde a qualsiasi carattere non di parole.
\S Corrisponde a caratteri di spazi bianchi come, spazio, tabulazione, nuova riga, ecc.
\S Corrisponde a qualsiasi carattere non di spazi bianchi.
\ d Corrisponde a qualsiasi carattere decimale.
\ D Corrisponde a qualsiasi carattere non decimale.

I quantificatori potrebbero essere aggiunti per specificare il numero di volte in cui un personaggio potrebbe apparire.

Quantificatore Descrizione
* Zero o più partite.
+ Una o più partite.
? Zero o una partita.
{N} N partite.
{N,} N o più partite.
{N, M} Tra partite N e M.

La sintassi del controllo è come data:

<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string"
   ValidationExpression="string" ValidationGroup="string">
   
</asp:RegularExpressionValidator>

Riepilogo della convalida

Il controllo ValidationSummary non esegue alcuna convalida ma mostra un riepilogo di tutti gli errori nella pagina. Il riepilogo visualizza i valori della proprietà ErrorMessage di tutti i controlli di convalida che hanno superato la convalida.

Le seguenti due proprietà reciprocamente incluse elencano il messaggio di errore:

ShowSummary: mostra i messaggi di errore nel formato specificato.

ShowMessageBox: mostra i messaggi di errore in una finestra separata.

La sintassi per il controllo è come indicato:

<asp:ValidationSummary ID="ValidationSummary1" runat="server" 
   DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />

Gruppi di convalida

Le pagine complesse hanno diversi gruppi di informazioni fornite in diversi pannelli. In tale situazione, potrebbe sorgere la necessità di eseguire la convalida separatamente per un gruppo separato. Questo tipo di situazione viene gestito utilizzando i gruppi di convalida.

Per creare un gruppo di convalida, è necessario inserire i controlli di input e i controlli di convalida nello stesso gruppo logico impostando la relativa proprietà ValidationGroup.

Esempio L'esempio seguente descrive un modulo che deve essere compilato da tutti gli studenti di una scuola, divisi in quattro case, per eleggere il presidente della scuola. Qui, utilizziamo i controlli di convalida per convalidare l'input dell'utente.

Questa è la forma nella vista di progettazione:

inserisci la descrizione dell'immagine qui

Il codice del file di contenuto è come indicato:

<form id="form1" runat="server">

   <table style="width: 66%;">
   
      <tr>
         <td class="style1" colspan="3" align="center">
         <asp:Label ID="lblmsg" 
            Text="President Election Form : Choose your president" 
            runat="server" />
         </td>
      </tr>

      <tr>
         <td class="style3">
            Candidate:
         </td>

         <td class="style2">
            <asp:DropDownList ID="ddlcandidate" runat="server"  style="width:239px">
               <asp:ListItem>Please Choose a Candidate</asp:ListItem>
               <asp:ListItem>M H Kabir</asp:ListItem>
               <asp:ListItem>Steve Taylor</asp:ListItem>
               <asp:ListItem>John Abraham</asp:ListItem>
               <asp:ListItem>Venus Williams</asp:ListItem>
            </asp:DropDownList>
         </td>

         <td>
            <asp:RequiredFieldValidator ID="rfvcandidate" 
               runat="server" ControlToValidate ="ddlcandidate"
               ErrorMessage="Please choose a candidate" 
               InitialValue="Please choose a candidate">
            </asp:RequiredFieldValidator>
         </td>
      </tr>

      <tr>
         <td class="style3">
            House:
         </td>

         <td class="style2">
            <asp:RadioButtonList ID="rblhouse" runat="server" RepeatLayout="Flow">
               <asp:ListItem>Red</asp:ListItem>
               <asp:ListItem>Blue</asp:ListItem>
               <asp:ListItem>Yellow</asp:ListItem>
               <asp:ListItem>Green</asp:ListItem>
            </asp:RadioButtonList>
         </td>

         <td>
            <asp:RequiredFieldValidator ID="rfvhouse" runat="server" 
               ControlToValidate="rblhouse" ErrorMessage="Enter your house name" >
            </asp:RequiredFieldValidator>
            <br />
         </td>
      </tr>

      <tr>
         <td class="style3">
            Class:
         </td>

         <td class="style2">
            <asp:TextBox ID="txtclass" runat="server"></asp:TextBox>
         </td>

         <td>
            <asp:RangeValidator ID="rvclass" 
               runat="server" ControlToValidate="txtclass" 
               ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" 
               MinimumValue="6" Type="Integer">
            </asp:RangeValidator>
         </td>
      </tr>

      <tr>
         <td class="style3">
            Email:
         </td>

         <td class="style2">
            <asp:TextBox ID="txtemail" runat="server" style="width:250px">
            </asp:TextBox>
         </td>

         <td>
            <asp:RegularExpressionValidator ID="remail" runat="server" 
               ControlToValidate="txtemail" ErrorMessage="Enter your email" 
               ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
            </asp:RegularExpressionValidator>
         </td>
      </tr>

      <tr>
         <td class="style3" align="center" colspan="3">
            <asp:Button ID="btnsubmit" runat="server" onclick="btnsubmit_Click" 
               style="text-align: center" Text="Submit" style="width:140px" />
         </td>
      </tr>
   </table>
   <asp:ValidationSummary ID="ValidationSummary1" runat="server" 
      DisplayMode ="BulletList" ShowSummary ="true" HeaderText="Errors:" />
</form>

Il codice dietro il pulsante di invio:

protected void btnsubmit_Click(object sender, EventArgs e)
{
   if (Page.IsValid)
   {
      lblmsg.Text = "Thank You";
   }
   else
   {
      lblmsg.Text = "Fill up all the fields";
   }
}


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow