2010-12-12 13 views
3

私のページにバリデータとバリデーションがあります。バリデータとバリデータのサマリーにバリデータが表示される理由

このページが有効でない場合、そのテキストはバリデータ自体と検証要約に表示されます。

何が間違っていますか?

<asp:RegularExpressionValidator ValidationGroup="Register" CssClass="validator" ForeColor="black" 
            ControlToValidate="txtRegisterEmail" ID="valMail" runat="server" 
            ValidationExpression=".*@.*\.(com|net|org|edu|mil|at?|de?|ch?|uk?)$" 
            ErrorMessage="Bitte geben Sie eine gültige EMail-Adresse ein." 
            EnableClientScript="false" 
            Display="Dynamic"></asp:RegularExpressionValidator> 


<asp:LinkButton CausesValidation="true" ValidationGroup="Register" ID="linkRegister" CssClass="linkWhite" runat="server" 
            onclick="linkRegister_Click">Jetzt Registrieren</asp:LinkButton><br /> 
            <br /> 
           <asp:ValidationSummary ValidationGroup="Register" ID="sumRegister" runat="server" 
           HeaderText="Folgende Fehler sind aufgetreten:" CssClass="validator" 
           ShowSummary="true" DisplayMode="BulletList" /> 

答えて

9

これは仕様ですが、間違ったことはありません。

バリデーションメッセージがサマリーにのみ表示されるようにするには、バリデータコントロールのDisplayプロパティをNoneに設定します。

メッセージがサマリーに表示されないようにするには、ValidationGroupプロパティを使用して、ValidationSummaryコントロールとバリデータコントロールに異なる検証グループ名を付けることができます。

1

あなたは("dynamic">後にアスタリスクを注意してください)これを行う場合は、次の

<asp:RegularExpressionValidator 
    ValidationGroup="Register" CssClass="validator" ForeColor="black" 
    ControlToValidate="txtRegisterEmail" ID="valMail" runat="server" 
    ValidationExpression=".*@.*\.(com|net|org|edu|mil|at?|de?|ch?|uk?)$" 
    ErrorMessage="Bitte geben Sie eine gültige EMail-Adresse ein." 
    EnableClientScript="false" 
    Display="Dynamic">*</asp:RegularExpressionValidator> 

あなたが任意の無効なフィールドの横の小さなアスタリスクを取得し、その後エラーメッセージが検証概要に表示されます。私のアプリケーションでは、小さな(赤色の)アスタリスクでフィールドにタグを付けると、検証エラーのリストのために、ユーザーが「下に」見えるようにしたり、要約がどこにあっても役立ちます。