I Validator

CompareValidator / RequiredFieldValidator

Nel primo esempio i due campi Name e Name2 non possono restare vuoti. Il terzo validatore verifica che i due nomi coincidono. Nel secondo esempio si verifica se il campo intero sia uguale a 22. Infine il terzo esempio verifica che la data immessa sia maggiore del 1/1/2005.

Da notare l’uso della proprietà ValidationGroup. Attraverso i raggruppamenti  fa immodo che il postback di un pulsante non abbia effetto sulla validazione di tutta la pagina. Senza questi raggruppamenti il click sul terzo bottone, ad esempio, farà scattare la verifica anche negli altri campi. Per ovviare a questo inconveniente e fare quindi in modo che il click su uno dei tre bottoni vada a validare solo i campi corrispondenti, si usano 3 valori diversi di ValidationGroup

 

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server"><title>Esempio CompareValidator</title></head>
  <body>
    <form id="form1" runat="server">
      <h4>CompareValidator su tipo stringa di due campi</h4>
      Nome: <asp:TextBox id="Name" runat="server" /> 
      Ripeti Nome: <asp:TextBox id="Name2" runat="server" /> <br />
      RequiredFieldValidator 1:
      <asp:RequiredFieldValidator id="Validator_Name1" ControlToValidate="Name"
           Display="Static"
           Text="Campo obbligatorio" runat="server" ValidationGroup="1" /><br />
      RequiredFieldValidator 2:
      <asp:RequiredFieldValidator id="Validator_Name2" ControlToValidate="Name2"
           Display="Static"
           Text="Campo obbligatorio" runat="server" ValidationGroup="1" /><br />
      CompareValidator:
      <asp:CompareValidator id="Validator_Name3" ControlToValidate="Name" Type="String"
           ControlToCompare="Name2" Text="I due valori devono combaciare"
           Display="Dynamic" runat="server" ValidationGroup="1" Type="String" /><br />
      <asp:button runat="server" Text="Testa pagina" OnClick="Validate"
            ValidationGroup="1" />

      <h4>CompareValidator su tipo Intero</h4>
      Inserisci il numero 22: <asp:TextBox id="Number" runat="server" /> <br />
      RequiredFieldValidator:
      <asp:RequiredFieldValidator id="Validator_Number1" ControlToValidate="Number"
           Display="Static" Text="Campo obbligatorio" runat="server"
           ValidationGroup="2" /><br />
      CompareValidator:
      <asp:CompareValidator id="Validator_Number2" ControlToValidate="Number"
            runat="server" ValueToCompare="22" Operator="Equal" Type="Integer"
            Display="Dynamic Text="Il numero non è correto"  ValidationGroup="2" />
      <br />
      <asp:button runat="server" Text="Testa pagina" OnClick="Validate"
          ValidationGroup="2" />

       <h4>CompareValidator su tipo Data</h4>
       Data successiva al 01/01/2005:
       <asp:TextBox id="Date" runat="server" /> <br />
       RequiredFieldValidator:
       <asp:RequiredFieldValidator id="Validator_Date1" ControlToValidate="Date"
          runat="server"Display="Static"
          Text="Campo obbligatorio" ValidationGroup="3" /><br />
      CompareValidator:
      <asp:CompareValidator id="Validator_Date2" ControlToValidate="Date" Type="Date"
         ValueToCompare="01/01/2005" Operator="GreaterThan"
         Text="Data non correta" Display="Dynamic" runat="server"
         ValidationGroup="3" /><br />
      <asp:button runat="server" Text="Testa pagina" OnClick="Validate"
         ValidationGroup="3" />

         <p><asp:label id="Feedback" runat="server" />
    </form>
  </body>
</html>
<SCRIPT RUNAT="SERVER">
void Validate(Object o, EventArgs e){
 if (Page.IsValid)
  Feedback.Text = "Pagina valida";
}
</SCRIPT>

 

CustomValidator

(verificare se l’anno inserito è bisestile)

 

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server"><title>Esempio CustomValidator </title></head>
  <body>
    <form id="form1" runat="server">
      Inserisci un anno bisestile:<asp:TextBox id="ValueField" runat="server" /> <br />
      RequiredFieldValidator : <asp:RequiredFieldValidator id="Validator_Year"
  ControlToValidate="ValueField" Display="Static" Text="Campo obbligatorio"
  runat="server" /><br />
      CustomValidator:
         <asp:CustomValidator id="Validator_Year2" runat="server"
              ControlToValidate="ValueField" ErrorMessage="Non valido"
              OnServerValidate="ValidateYear"   /><br />
         <asp:button runat="server"  Text="Testa pagina" OnClick="Validate" />
      <p><asp:label id="Feedback" runat="server" /></p>
    </form>
  </body>
</html>
<SCRIPT RUNAT="SERVER">
void Validate(Object o, EventArgs e) {
 if (Page.IsValid)
  Feedback.Text = "Pagina valida";
}
// Funzione di veirifica utente
void ValidateYear (object source, ServerValidateEventArgs arguments) {
 // in arguments c'è il valore del campo - va impostato IsValid per restituire
 //  il risultato
 arguments.IsValid = (DateTime.IsLeapYear(Int32.Parse(arguments.Value)));
}
</SCRIPT>

 

RangeValidator

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server"><title>Esempio RangeValidator</title></head>
  <body>
    <form id="form1" runat="server">

      <h4>RangeValidator su tipo stringa</h4>
      Nome:<asp:TextBox id="Name" runat="server" /> <br />
      RequiredFieldValidator:
      <asp:RequiredFieldValidator id="Validator_Name1" ControlToValidate="Name"
           Display="Static"
           Text="Campo obbligatorio" runat="server" ValidationGroup="1" /><br />
       RangeValidator:
      <asp:RangeValidator id="Validator_Name2" ControlToValidate="Name"
           MinimumValue="a"
           MaximumValue="d" Type="String" Text="La tua lettera deve essere tra A e D"
           Display="Dynamic" runat="server" ValidationGroup="1" /><br />
      <asp:button runat="server" Text="Testa pagina" OnClick="Validate"
           ValidationGroup="1" />

      <h4>RangeValidator su tipo Intero</h4>
      Numero:<asp:TextBox id="Number" runat="server" /><br />
      RequiredFieldValidator:
      <asp:RequiredFieldValidator id="Validator_Number1" ControlToValidate="Number"
        Display="Static" Text="Campo obbligato" runat="server" ValidationGroup="2" />
      <br />RangeValidator:
      <asp:RangeValidator id="Validator_Number2" ControlToValidate="Number"
          MinimumValue="1"
          MaximumValue="3" Type="Integer" Text="Numero tra 1 e 3" Display="Dynamic"
          runat="server" ValidationGroup="2" /><br />
      <asp:button runat="server" Text="Testa pagina" OnClick="Validate"
          ValidationGroup="2" />

      <p><asp:label id="Feedback" runat="server" />
    </form>
  </body>
</html>
<SCRIPT RUNAT="SERVER">
void Validate(Object o, EventArgs e) {
 if (Page.IsValid)
  Feedback.Text = "Pagina valida";
}
</SCRIPT>

 

RegularExpressionValidator

(stringa di tre caratteri ed e-mail)

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server"><title>Esempio RegularExpressionValidator </title></head>
  <body>
    <form id="form1" runat="server">
      <h4>RegularExpressionValidator per stringa di 3 caratteri numerici</h4>
      Nome:<asp:TextBox id="Name" runat="server" /> <br />
      RequiredFieldValidator:
      <asp:RequiredFieldValidator id="Validator_Name1" ControlToValidate="Name"
          Display="Static"
          Text="Campo obbligatorio" runat="server" ValidationGroup="1" /><br />
      RegularExpressionValidator:
      <asp:RegularExpressionValidator id="Validator_Name2" ControlToValidate="Name"
          ValidationExpression="\d{3}" Text="Campo non valido" Display="Dynamic"
          runat="server" ValidationGroup="1" /><br />
      <asp:button runat="server" Text="Testa pagina" OnClick="Validate"
          ValidationGroup="1" />

      <h4>RegularExpressionValidator per e-mail</h4>
      E-mail:<asp:TextBox id="Email" runat="server" /> <br />
      RequiredFieldValidator:
      <asp:RequiredFieldValidator id="Validator_Email1" ControlToValidate="Email"
          Display="Static"
          Text="Campo obbligatorio" runat="server" ValidationGroup="2" /><br />
      RegularExpressionValidator:
      <asp:RegularExpressionValidator id="Validator_Email2" ControlToValidate="Email"
  ValidationExpression=".*@.*\..*"  Text="Campo non valido" Display="Dynamic"
  runat="server" ValidationGroup="2" /><br />
      <asp:button runat="server" Text="Testa pagina" OnClick="Validate"
          ValidationGroup="2" />

      <p><asp:label id="Feedback" runat="server" />
     </div>
    </form>
</body>
</html>
<SCRIPT RUNAT="SERVER">
void Validate(Object o, EventArgs e){
 if (Page.IsValid)
  Feedback.Text = "Pagina valida";
}
</SCRIPT>

 

ValidationSummary

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server"><title>Esempio ValidationSummary</title></head>
  <body>
    <form id="form1" runat="server">
      <h4>RangeValidator su tipo stringa</h4>
      Inserisci un nome:<asp:TextBox id="Name" runat="server" /> <br />
      RequiredFieldValidator:
      <asp:RequiredFieldValidator id="Validator_Name1" ControlToValidate="Name"
           Display="Static"
           Text="*" ErrorMessage="Campo nome obbligatorio" runat="server" /><br /> 
      Inserisci un numero tra 1 e 3: <ASP:TextBox id="Number" runat="server" /> <br />
      RequiredFieldValidator:
      <asp:RequiredFieldValidator id="Validator_Number1" ControlToValidate="Number"
           runat="server"
           Display="Static" Text="*" ErrorMessage="Campo numero obbligatorio" /><br />
      RangeValidator:
      <asp:RangeValidator id="Validator_Number2" ControlToValidate="Number"
           MinimumValue="1"
           MaximumValue="3" Type="Integer" Text="*" ErrorMessage="Numero tra 1 e 3"
           Display="Dynamic" runat="server" /><br />
      ValidationSummary:
      <asp:ValidationSummary id="ValiationSummary1" DisplayMode="BulletList"
           HeaderText="Hai commesso i seguenti errori:" runat="server" /><br />
      <asp:button runat="server" Text="Testa pagina" OnClick="Validate" />
      <p><asp:label id="Feedback" runat="server" />
    </form>
  </body>
</html>
<SCRIPT RUNAT="SERVER">
void Validate(Object o, EventArgs e){
 if (Page.IsValid)
  Feedback.Text = "Pagina valida";
}
</SCRIPT>