Classe CustomValidator

Rende disponibile un controllo in grado di eseguire la convalida personalizzata in base a un altro controllo.

public class System.Web.UI.MobileControls.CustomValidator : 
   System.Web.UI.MobileControls.BaseValidator

Osservazioni

Il comportamento di tale classe è uguale a quello del controllo server Web CustomValidator. Gli sviluppatori possono scegliere un delegato Common Language Runtime personalizzato e utilizzarlo per la convalida.

Per impostazione predefinita, i controlli Command di un form generano controlli di convalida per eseguire la convalida quando il form viene inviato al server. Per disattivare la convalida automatica, impostare la proprietà CausesValidation dei controlli Command su false.

Esempio

L'esempio riportato di seguito consente di verificare se il valore inserito da un utente nel controllo TextBox è un numero pari. Se il valore è un numero pari, la pagina sarà valida. In caso contrario, la pagina non sarà valida e in CustomValidator verrà visualizzata la proprietà Text.

<%@ Page Inherits= "System.Web.UI.MobileControls.MobilePage"
    Language="VB" %>
<%@ Register TagPrefix="mobile"
    Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>

<script language="vb" runat="server">

protected Sub Submit_Click(sender As Object, e As EventArgs)
  If Page.IsValid Then
   ActiveForm = Form2
  End If
End Sub

Sub ServerValidate (source As object, args As ServerValidateEventArgs)
  Dim num as Int32
  num = Int32.Parse(number.Text)
  args.IsValid = ((num Mod 2) = 0)
End Sub
</script>

<mobile:Form id="Form1" runat="server">
  <mobile:Label runat="server">
   Please enter an even number.
  </mobile:Label>
  
  <mobile:TextBox id="number" runat="server"/>

  <mobile:CustomValidator ControlToValidate="number"
         OnServerValidate="ServerValidate"
         runat="server">
   Invalid number
  </mobile:CustomValidator>

  <mobile:Command runat="server" OnClick="Submit_Click">
   Submit
  </mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">
  <mobile:Label runat="server">number is submitted</mobile:Label>
</mobile:Form>
[C#]
<%@ Page Inherits= "System.Web.UI.MobileControls.MobilePage"
    Language="C#" %>
<%@ Register TagPrefix="mobile"
    Namespace="System.Web.UI.MobileControls"
    Assembly="System.Web.Mobile" %>

<script language="c#" runat="server">

protected void Submit_Click(Object sender, EventArgs e)
{
  if (Page.IsValid)
  {
   ActiveForm = Form2;
  }
}

void
ServerValidate (object source, ServerValidateEventArgs args)
{
   int num = Int32.Parse(number.Text);
   args.IsValid = ((num % 2) == 0);
}

</script>

<mobile:Form id="Form1" runat="server">
  <mobile:Label runat="server">
   Please enter an even number.
  </mobile:Label>
  
  <mobile:TextBox id="number" runat="server"/>

  <mobile:CustomValidator ControlToValidate="number"
         OnServerValidate="ServerValidate"
         runat="server">
   Invalid number
  </mobile:CustomValidator>

  <mobile:Command runat="server" OnClick="Submit_Click">
   Submit
  </mobile:Command>

</mobile:Form>

<mobile:Form id="Form2" runat="server">
  <mobile:Label runat="server">number is submitted</mobile:Label>
</mobile:Form>

Requisiti

Spazio dei nomi: System.Web.UI.MobileControls

Assembly: System.Web.Mobile

Vedere anche

Controllo CustomValidator | Classe BaseValidator | Classe CompareValidator | Classe RangeValidator | Classe RegularExpressionValidator | Classe RequiredFieldValidator | Classe ValidationSummary