Partager via


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