2010-03-25 4 views
2

У меня есть валидатор regularexpression, который проверяет действительное письмо. У меня есть две кнопки на моей форме. Отправить и отменить.Asp.net regularexpressionvalidator срабатывает, даже если CausesValidation = "false"

На отмен, мы возвращаемся состояние страницы по умолчанию

представить имеет его ValidationGroup установлен в то время как отмена оленья кожа имеет никакого ValidationGroup и CausesValidation = «ложь».

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

Это очень странно, и я хочу, чтобы страница была обратной почтой без какого-либо сообщения об ошибке, когда я нажимаю undo.how для ее достижения.

<tec:ThemedImageButton runat="server" ID="imgbtnSave" OnClick="imgbtnSave_Click" 
    ValidationGroup="CustomerGroup"/> 
<tec:ThemedImageButton runat="server" ID="imgbtnCancel" CausesValidation="false" 
               OnClick="imgbtnCancel_Click" /> 

Это нормальные кнопки изображения с добавлением themes.CustomerGroup является группа проверки для моего текстового поля и RegularExpressionValidator

+0

Можете ли вы опубликовать код для вас 2 кнопки и валидатор? Также опубликуйте, какую версию ASP.NET вы используете. – Kelsey

+0

Прикомандированный, дополнительная информация поможет здесь. –

+0

Установили ли вы группу проверки на кнопке, валидаторе, текстовом поле и сводке проверки? –

ответ

0

Вы, возможно, нажав на отмены в то время как ваш фокус еще в электронном текстовом поле? Если это так, возможно, проблема в том, что начальное событие размывания текстового поля запускается, что в свою очередь вызывает проверку подлинности электронной почты и предотвращает щелчок/передачу.

Первое, что нужно попробовать, это убедиться, что вы можете ввести неверный адрес электронной почты, переместить фокус на совершенно другую область страницы и затем отменить, чтобы определить, является ли это причиной.

0

Двойная проверка ваших настроек. Возможно, вы захотите проверить код, чтобы убедиться, что вы не перезаписываете здесь настройки управления. Например, в коде у вас может быть установлено значение CausesValidation равным «True» или что-то в этом роде.

0

Пока вы не размещать больше информации вы могли бы сделать следующее в кнопке Undo:

<asp:Button ID="btnUndo" runat="server" Text="Undo" 
    OnClientClick="Page_ValidationActive = false;" 
    OnClick="btnUndo_Click" /> 

Я не рекомендую это, как это может решить вашу проблему, но на самом деле не объясняет, что подключен вверх неправильно, но Page_ValidationActive = false; отключит всю проверку клиента на вашей странице.

+0

Я пробовал вставлять функцию javascript на onclientclick, но это не работает. Однако, если я нажму кнопку второй раз, javascript срабатывает. – Rohit

+0

спасибо Kelsey У меня была аналогичная проблема: я проверяю проверку на событие javascript onblur в текстовом поле электронной почты, но как только проверка вернет false в этом текстовом поле, мне нужно дважды щелкнуть кнопку отмены ... "Page_ValidationActive = false;" реши это. – 2011-04-11 08:31:24

Смежные вопросы