Page.IsValid revenant toujours vrai avec ValidationGroup et dynamique CustomValidator

Je suis l'ajout d'un validateur personnalisé à la page par programmation sur le clic d'un bouton, puis de la validation de la page et la vérification de la propriété IsValid de la page. mais la propriété IsValid est toujours renvoyer true. S'il vous plaît aider. voici le code. J'ai besoin d'ajouter de validation personnalisée de manière dynamique pour afficher les messages de validation de l'objet métier. Je suis en train de la propriété IsValid du validateur personnalisé pour de faux, donc j'attends la propriété IsValid de la Page pour retourner faux que bien après la validation. ne peut pas comprendre ce que je fais de mal ici.

    protected void Button1_Click(object sender, EventArgs e)
{
    var validator = new CustomValidator();
    validator.IsValid = false;
    validator.ErrorMessage = "The input is invalid";
    validator.ValidationGroup = "vgCustom";
    Page.Validators.Add(validator);
    ValidationSummary1.ValidationGroup = "vgCustom";
    Page.Validate("vgCustom");
    Label1.Text = Page.IsValid ? "The Page is valid" : "The Page is Invalid";
}

et voici les balises HTML

<html xmlns="http://www.w3.org/1999/xhtml" >
 <head runat="server">
    <title></title>
 </head>
 <body>
    <form id="form1" runat="server">
    <div>
        <asp:ValidationSummary ID="ValidationSummary1" runat="server"/>
        <asp:Button ID="Button1" runat="server" Text="Validate" OnClick="Button1_Click" />
        <asp:Label ID="Label1" runat="server"></asp:Label>
    </div>
    </form>
 </body>
</html>
  • il fonctionne si j'ajoute un validateur personnalisé à la marque et retour de faux dans "ServerValidate" gestionnaire d'événement et de définir le message d'erreur de programmation. mais je ne comprends pas quelle est la différence.
InformationsquelleAutor RKP | 2010-09-20