Почему Валидатор показывают в Валидаторе и Валидаторе Резюме - PullRequest
3 голосов
/ 12 декабря 2010

У меня есть валидатор и контрольная сумма на моей странице.

Когда случается, что страница недействительна, текст появляется на самом валидаторе и в сводке валидации.

Что я не так делаю?

 <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" />

Ответы [ 2 ]

9 голосов
/ 12 декабря 2010

Это по замыслу, вы не делаете ничего плохого.

Если вы хотите, чтобы сообщение проверки появлялось только в сводке, вы можете установить для свойства Отображать вашего элемента управления валидатора значение None.

Если вы не хотите, чтобы сообщение появлялось в сводке, вы можете использовать свойство ValidationGroup , чтобы присвоить разные имена групп проверки элементу управления ValidationSummary и элементу проверки.

1 голос
/ 12 декабря 2010

Если вы сделаете это (обратите внимание на звездочку после "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>

Вы получите небольшую звездочку рядом с любыми недопустимыми полями, а затем сообщение об ошибке появится в сводке проверки.В моих приложениях я считаю полезным пометить поля маленькой (красной) звездочкой, а затем попросить пользователя посмотреть список ошибок валидации «внизу» или где бы вы ни находились.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...