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