Обязательные полевые валидаторы запускаются в Chrome & Safari, когда кнопка имеет CausesValidation = "false" - PullRequest
1 голос
/ 08 октября 2010

У меня возникли некоторые проблемы с моим приложением ASP.NET 4 в Chrome & Safari (работает в Firefox и IE).

У меня есть кнопка, объявленная с использованием следующего кода:

<asp:Button ID="btnEOI1" runat="server" CssClass="buttonCSS" Text="Lodge an Expression of Interest"
                        OnClick="btnEOI_Click" CausesValidation="False" />

В файле с выделенным кодом у меня есть следующий код:

protected void btnEOI_Click(object sender, EventArgs e)
{
   Response.Redirect("Default.aspx", true);
}

Также на странице есть LoginControl, который имеет два RequiredFieldValidators и RegularExpressionValidator:

<asp:requiredfieldvalidator id="UserNameRequired" runat="server" ControlToValidate="UserName" 
    ErrorMessage="Please enter your User Name." SetFocusOnError="true" Display="None">
</asp:requiredfieldvalidator>

<asp:RegularExpressionValidator runat="server" id="RegularExpressionValidator1"  
    ControlToValidate="UserName"
    ErrorMessage="Please enter your User Name without spaces." ValidationExpression="[\S]+" 
    Display="None" SetFocusOnError="true" >
</asp:RegularExpressionValidator>                                 

<asp:requiredfieldvalidator id="PasswordRequired" runat="server" ControlToValidate="Password" 
    ErrorMessage="Please enter your Password." SetFocusOnError="true" Display="None">
</asp:requiredfieldvalidator>

Когда я нажимаю кнопку в Chrome и Safari, запускаются валидаторы UserNameRequired и PasswordRequired, хотя кнопка имеет CausesValidation = "false". Ошибки проверки не возникают в IE или Firefox.

Как я могу остановить запуск валидаторов в Chrome и Firefox?

Ответы [ 3 ]

1 голос
/ 20 октября 2010

Оказывается, у нас был какой-то javascript, используемый для предотвращения двойного щелчка при отправке формы [0] (которая в данном случае является элементом управления входом в систему).

1 голос
/ 08 октября 2010

Я только что проверил ваш код на пустой странице, и он корректно работает во всех браузерах.

Тем не менее вы можете попробовать Группы проверки .

Просто установитета же группа для UserNameRequired, RegularExpressionValidator1, PasswordRequired и вашей кнопки входа в систему.

0 голосов
/ 30 июля 2012

Я не уверен, относится ли это к вашей проблеме, но обнаружил проблемы с RequiredFieldValidators с Display="Dynamic", установленным для него.

Устранение проблемы устранило проблему, возникшую у меня, когда некоторые валидаторы не отображались должным образомв Chrome.В то время как в прошлом были и другие случаи, когда добавление помогло решить проблему.

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