2010-03-25 65 views
2

我有一个regularexpression验证器来验证有效的电子邮件。我的表单上有两个按钮。提交和撤消。即使当CausesValidation =“false”时,Asp.net regularexpressionvalidator也会触发

上的撤消,我们正在恢复的页面状态为默认状态

提交有其设置的ValidationGroup而撤消多年平均值有任何和的ValidationGroup =的CausesValidation“假”。

现在,当我导航到页面并输入无效的电子邮件地址时,我直接单击撤消。验证器触发并停止发布我的页面。但是,如果我按Tab键并导航到其他控件,然后单击撤消,验证程序将显示错误消息,但回发并继续执行。

这很奇怪,我希望页面回发没有任何错误消息,当我点击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 2010-03-25 15:30:09

+0

借调,更多信息将在这里帮助。 – 2010-03-25 15:31:11

+0

您是否将按钮,验证器,文本框和验证摘要中的验证组设置为相同? – 2010-03-25 15:33:00

回答

0

你可能一下复原,而你的重点仍然是电子邮件文本中?如果是这样,也许问题是,文本框的初始模糊事件正在触发,这反过来又调用了电子邮件验证程序并阻止了点击/提交。

首先要尝试的是确保您可以输入无效的电子邮件地址,将焦点移到页面的完全不同的区域,然后按撤消以确定是否是原因。

0

仔细检查您的设置。 您可能想要检查后面的代码,以确保不会覆盖那里的控制设置。例如,在代码中,您可能将CausesValidation设置为“True”或类似的东西。

0

直到你发布你可以做以下的在撤销按钮的更多信息:

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

我不建议这样做,因为它可能会解决你的问题,但实际上并不能说明什么接线错误了,但Page_ValidationActive = false;将禁用您的页面上的所有客户端验证。

+0

我已经尝试在onclientclick上粘贴javascript函数,但它不会触发。但是,如果我第二次按按钮,JavaScript会触发。 – Rohit 2010-03-25 15:49:30

+0

感谢Kelsey 我有类似的问题:我检查电子邮件文本框上的JavaScript onblur事件的验证,但一旦验证返回false在这个文本框,我需要点击两次取消按钮...“Page_ValidationActive = false;”解决这个问题。 – 2011-04-11 08:31:24

相关问题