CustomValidator, contrôle
Le contrôle CustomValidator permet aux développeurs de fournir leur propre méthode de validation du champ d'un autre contrôle.
Syntaxe des contrôles mobiles
Les propriétés, valeurs par défaut et éléments de code requis sont indiqués en caractères gras.
<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>
Règles relatives à la relation contenant-contenu
Les contrôles suivants peuvent contenir un contrôle CustomValidator.
Contrôle | Commentaires |
---|---|
System.Web.UI.MobileControls.Form | Peut contenir n'importe quel nombre de contrôles CustomValidator. |
System.Web.UI.MobileControls.Panel | Peut contenir n'importe quel nombre de contrôles CustomValidator. |
Le contrôle CustomValidator ne peut pas contenir d'autres contrôles.
Modèles de périphériques
Aucun.
Comportement spécifique au périphérique
Lorsqu'un validateur est rendu, son rendu spécifique au périphérique est identique au rendu spécifique au périphérique d'un contrôle Label. Cependant, la propriété StyleReference d'un validateur a initialement la valeur Error. Elle utilise le style d'erreur du contrôle Stylesheet de la page. En l'absence de ce contrôle, la propriété utilise la feuille de style par défaut du système.
Exemple
Cet exemple de code vérifie si le nombre entré par l'utilisateur est pair.
<%@ 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>
Voir aussi
CustomValidator, classe | CustomValidator, membres de classe | CustomValidator, contrôle serveur Web | Guide de référence des contrôles