Condividi tramite


Controllo CustomValidator

Il controllo CustomValidator consente agli sviluppatori di fornire un metodo personalizzato per convalidare un altro campo del controllo.

Sintassi dei controlli mobili

Le proprietà necessarie, le impostazioni predefinite e gli elementi dalle funzionalità di codice sono in grassetto.

<mobile:CustomValidatorrunat="server"
   id="id"
   Font-Name="fontName"
   Font-Size="{NotSet|Normal|Small|Large}"
   Font-Bold="{NotSet|False|True}"
   Font-Italic=""{NotSet|False|True}"
   ForeColor="foregroundColor"
   BackColor="backgroundColor"
   Alignment="{NotSet|Left|Center|Right}"
   StyleReference="styleReference"
   Text="ErrorText"
   Wrapping="{NotSet|Wrap|NoWrap}"

   ControlToValidate="IdOfTargetControl"
   Display="{None|Static|Dynamic}"
   ErrorMessage="ErrorTextForSummary"
   OnServerValidate="EventHandler">
innerText
</mobile:CustomValidator>

Regole di contenimento

I controlli descritti di seguito possono contenere un controllo CustomValidator.

Controllo Commenti
System.Web.UI.MobileControls.Form Può contenere un numero indefinito di controlli CustomValidator.
System.Web.UI.MobileControls.Panel Può contenere un numero indefinito di controlli CustomValidator.

Nel controllo CustomValidator non possono essere contenuti altri controlli.

Modelli di dispositivo

Nessuno.

Comportamento specifico del dispositivo

Quando viene eseguito il rendering di una convalida, la natura specifica del dispositivo del rendering della convalida è esattamente identica a quella del rendering specifico del dispositivo di un controllo Label. Tuttavia, la proprietà StyleReference per una convalida è inizialmente impostata su Error. Tale proprietà utilizzerà lo stile di errore nel controllo Stylesheet della pagina o, nel caso questo non sia presente, utilizzerà il foglio di stile predefinito del sistema.

Esempio

Utilizzando il codice dell'esempio viene garantito che il numero immesso da un utente sia dispari.

<%@ 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>

Vedere anche

Classe CustomValidator | Membri della classe CustomValidator | CustomValidator Web Server Control | Riferimenti ai controlli