Utilizzare i validator controls di ASP.NET

5 pagine in totale: <<Indietro 1 2 [3] 4 5 Avanti >>

Utilizzo dei validator controls

Giunti a questo punto vedremo, uno per uno, come utilizzare le varie proprietà e metodi dei validator controls. Ogni comando verrà correlato con un esempio.

Controllo RequiredFieldValidator

Questo comando controlla se nel controllo input non sia vuoto. La convalida fallisce se il valore del controllo non è cambiato rispetto al valore di default. Il valore di default è una stringa vuota (??), che indica che deve essere inserito un valore nel controllo input per passare la convalida.

Eventuali spazi bianchi all'inizio o alla fine del valore inserito vengono automaticamente eliminati prima della convalida, per evitare che la convalida venga bypassata inserendo uno spazio.

Ecco un esempio:

<html>
<body>

<h3>RequiredFieldValidator</h3>

<form runat="server">

Nome:
<asp:TextBox id="Text1" runat="server"/>

<asp:RequiredFieldValidator id="RequiredFieldValidator1"
   ControlToValidate="Text1"
   Text="il campo non può essere vuoto!"
   Display="Dynamic"
   runat="server"/>

<p> <asp:Button id="Button1" runat="server" Text="Convalida"/>

</form>

</body>
</html>

Controllo CompareValidator

Questo comando controlla che il valore inserito in un controllo input sia uguale al valore inserito in un controllo input, utilizzando la proprietà ControlToCompare, o con una costante utilizzando la proprietà ValueToCompare.

È possibile utilizzare il comando CompareValidator per determinare se il valore inserito in un controllo input corrisponde ad un tipo specifico utilizzando la proprietà Type.

La proprietà Operator permette di specificare il tipo di comparazione tra i due campi di input (Equal, GreaterThen, LessThenorEqual, ecc.).

Se la proprietà Operator viene impostata su validatorCompareOperator.DataTypeCheck, il comando CompareValidator ignorerà le proprietà ControlToCompare e ValueToCompare, e indicherà se il valore inserito può essere convertito nel tipo specificato dalla proprietà Type.

Se il controllo input rimane vuoto nessuna funzione di convalidà verrà invocata e la convalida passerà il test. Per evitare questo tipo di problema è possibile associare allo stesso campo anche la convalida RequiredFieldValidator.

Ecco un esempio:

<html>
<head>
  <script runat="server">
  Sub Button_Click(sender As Object, e As EventArgs)
   If Page.IsValid Then
   lblOutput.Text = "Risultato convalida: OK :-D"
   Else
   lblOutput.Text = "Risultato convalida: KO :-("
   End If
  End Sub

  Sub Operator_Index_Changed(sender As Object, e As EventArgs)
   Compare1.Operator = CType(ListOperator.SelectedIndex, _
validatorCompareOperator)
   Compare1.Validate()
  End Sub
  Sub Type_Index_Changed(sender As Object, e As EventArgs)
   Compare1.Type = CType(ListType.SelectedIndex, validatorDataType)
   Compare2.Type = CType(ListType.SelectedIndex, validatorDataType)
   Compare1.Validate()
  End Sub
  </script>
</head>
<body>

  <form runat="server">

  <h3 align="center">CompareValidator</h3>
  <p align="center">
  Inserire i due valori da comparare, selzionare un operatore e il tipo.<br>
   Click "Convalida" per comparare i valori.

  <table cellpadding="10" align="center">

   <tr valign="top">

   <td>

     <h5>Stringa 1:</h5>
     <asp:TextBox id="TextBox1" runat="server"/>

     <br>

     <asp:CompareValidator id="Compare1"
     ControlToValidate="TextBox1"
     ControlToCompare="TextBox2"
     Type="String"
     EnableClientScript="False"
     Text="Convalida fallita"
     runat="server"/>

   </td>

   <td>

     <h5>Operatore di convalida:</h5>

     <asp:ListBox id="ListOperator"
     OnSelectedIndexChanged="Operator_Index_Changed"
     runat="server">

     <asp:ListItem Selected Value="Equal" >Equal</asp:ListItem>
     <asp:ListItem Value="NotEqual" >NotEqual</asp:ListItem>
     <asp:ListItem Value="GreaterThan" >GreaterThan</asp:ListItem>
     <asp:ListItem Value="GreaterThanEqual" >GreaterThanEqual</asp:ListItem>
     <asp:ListItem Value="LessThan" >LessThan</asp:ListItem>
     <asp:ListItem Value="LessThanEqual" >LessThanEqual</asp:ListItem>
     <asp:ListItem Value="DataTypeCheck" >DataTypeCheck</asp:ListItem>

     </asp:ListBox>

   </td>

   <td>

     <h5>Stringa 2:</h5>
     <asp:TextBox id="TextBox2" runat="server"/>
     <br>
     <asp:CompareValidator id="Compare2"
     ControlToValidate="TextBox2" 
     Operator="DataTypeCheck"
     EnableClientScript="False"
     Text="Tipo non valido"
     runat="server"/>
     <br>
     <asp:Button id="Button1"
     Text="Convalida" 
     OnClick="Button_Click"
     runat="server"/>

   </td>
   </tr>

   <tr>
   <td colspan="3" align="center">

     <h5>Tipo dati:</h5>

     <asp:ListBox id="ListType"
     OnSelectedIndexChanged="Type_Index_Changed"
     runat="server">

     <asp:ListItem Selected Value="String" >Stringa</asp:ListItem>
     <asp:ListItem Value="Integer" >Intero</asp:ListItem>
     <asp:ListItem Value="Double" >Double</asp:ListItem>
     <asp:ListItem Value="Date" >Data</asp:ListItem>

     </asp:ListBox>
   </td>
   </tr>
  </table>

  <br>
 
  <asp:Label id="lblOutput" align="center" runat="server"/>

  </form>

</body>
</html>

5 pagine in totale: <<Indietro 1 2 [3] 4 5 Avanti >>

Attenzione: Questo articolo contiene un allegato

Contenuti dell'articolo

Commenti
Dai un voto a questo articolo, ci aiuterà a migliorare il nostro sito (1 è il voto minimo, 5 il massimo).

Per procedere al rating dell'articolo devi essere autenticato.

Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.


TUTORIALS
TOP TEN ARTICOLI
NOTIFICHE

Iscriviti alla nostra newsletter nuoviarticoli per ricevere e-mail le notifiche!

Indirizzo e-mail:
PROVIDER ASP.NET 2.0

Seleziona il database per avere il web.config pronto per Membership, Roles e Profile API.



IN EVIDENZA
MISC