ValidationSummary, contrôle
Ce contrôle affiche un résumé de toutes les erreurs de validation survenues durant le rendu d'un formulaire.
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:ValidationSummaryrunat="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"
Wrapping="{NotSet|Wrap|NoWrap}"
FormToValidate="FormID"
BackLabel="[BackLabel]">
</mobile:ValidationSummary>
Règles relatives à la relation contenant-contenu
Les contrôles suivants peuvent contenir un contrôle ValidationSummary.
Contrôle | Commentaires |
---|---|
System.Web.UI.MobileControls.Form | Peut contenir n'importe quel nombre de contrôles ValidationSummary. |
System.Web.UI.MobileControls.Panel | Peut contenir n'importe quel nombre de contrôles ValidationSummary. |
Le contrôle ValidationSummary ne peut pas contenir d'autres contrôles.
Modèles de périphériques
Aucun.
Comportement spécifique au périphérique
Pour tous les rendus, la propriété StyleReference a initialement la valeur Error. Elle utilise le style d'erreur de la feuille de style associée à la page. En l'absence de cette feuille de style, elle utilise la feuille de style par défaut du système.
Le rendu du contrôle ValidationSummary consiste à afficher d'abord la valeur de la propriété HeaderText, puis une liste HTML ou WML des éléments suivants :
- propriétés ErrorMessage de chaque validateur sur le formulaire non valide ;
- contrôle Link ayant pour cible le formulaire non valide et pour texte la valeur de la propriété BackLabel.
Pour tous les périphériques, si le formulaire à valider n'est pas erroné, le contrôle ValidationSummary n'affiche rien.
Langage du périphérique | Description du comportement |
---|---|
HTML | Le style actuel du contrôle est appliqué tel quel à tous les rendus HTML. |
WML | Chaque propriété ErrorMessage est précédée de « - » (tiret suivi d'un espace). |
Exemple
L'exemple suivant illustre l'utilisation de deux méthodes d'affichage des erreurs de validation : l'une en ligne et l'autre via le format résumé.
<%@ 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 Summary_Click(sender As Object, e As EventArgs)
' Hide or show Back link. This is because ValidationSummary
' doesn't provide the Back link when validation succeeds.
BackLink.Visible = Page.IsValid
ActiveForm = Form2
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:RangeValidator runat="server"
ControlToValidate="number"
Type="Integer"
MaximumValue="5"
MinimumValue="1"
ErrorMessage="The input number should be with in the range 1 - 5.">
Please enter a number of value 1 - 5
</mobile:RangeValidator>
<mobile:RegularExpressionValidator runat="server"
ControlToValidate="number"
ValidationExpression="\b\d{1}\b"
ErrorMessage="The input number should be a single digit.">
Please enter a single digit
</mobile:RegularExpressionValidator>
<mobile:CustomValidator ControlToValidate="number"
OnServerValidate="ServerValidate"
ErrorMessage="The input number should be even."
runat="server">
Please enter an even number
</mobile:CustomValidator>
<mobile:Label runat="server">
Please enter an even number between 1 to 5
</mobile:Label>
<mobile:TextBox id="number" runat="server"/>
<mobile:Command runat="server">
Show errors inline if not valid
</mobile:Command>
<mobile:Command OnClick="Summary_Click" runat="server">
Show errors in summary
</mobile:Command>
</mobile:Form>
<mobile:Form id="Form2" runat="server">
<mobile:Label runat="server">
Your input is valid if no error is shown below.
</mobile:Label>
<mobile:ValidationSummary FormToValidate="Form1"
HeaderText="Error listed below:"
runat="server"/>
<mobile:Link id="BackLink" runat="server"
NavigateUrl="#Form1"
Visible="False"
Text="Back" />
</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 Summary_Click(Object sender, EventArgs e)
{
// Hide or show Back link. This is because ValidationSummary
// doesn't provide the Back link when validation succeeds.
BackLink.Visible = 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:RangeValidator runat="server"
ControlToValidate="number"
Type="Integer"
MaximumValue="5"
MinimumValue="1"
ErrorMessage="The input number should be with in the range 1 - 5.">
Please enter a number of value 1 - 5
</mobile:RangeValidator>
<mobile:RegularExpressionValidator runat="server"
ControlToValidate="number"
ValidationExpression="\b\d{1}\b"
ErrorMessage="The input number should be a single digit.">
Please enter a single digit
</mobile:RegularExpressionValidator>
<mobile:CustomValidator ControlToValidate="number"
OnServerValidate="ServerValidate"
ErrorMessage="The input number should be even."
runat="server">
Please enter an even number
</mobile:CustomValidator>
<mobile:Label runat="server">
Please enter an even number between 1 to 5
</mobile:Label>
<mobile:TextBox id="number" runat="server"/>
<mobile:Command runat="server">
Show errors inline if not valid
</mobile:Command>
<mobile:Command OnClick="Summary_Click" runat="server">
Show errors in summary
</mobile:Command>
</mobile:Form>
<mobile:Form id="Form2" runat="server">
<mobile:Label runat="server">
Your input is valid if no error is shown below.
</mobile:Label>
<mobile:ValidationSummary FormToValidate="Form1"
HeaderText="Error listed below:"
runat="server"/>
<mobile:Link id="BackLink" runat="server"
NavigateUrl="#Form1"
Visible="False"
Text="Back" />
</mobile:Form>
Voir aussi
ValidationSummary, classe | ValidationSummary, membres de classe | ValidationSummary, contrôle | Guide de référence des contrôles