CausesValidation设置为" False",但客户端验证仍在触发

时间:2020-03-05 18:58:47  来源:igfitidea点击:

我在ASP.NET 1.1 Web应用程序中有几个RequiredFieldValidator,当我按"取消"按钮时,它们会在客户端触发,该按钮的CausesValidation属性设置为" False"。我怎样才能停止呢?

我不相信1.1支持验证组。

这是一个代码示例:

<asp:TextBox id="UsernameTextBox" runat="server"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="UsernameTextBoxRequiredfieldvalidator" ControlToValidate="UsernameTextBox" 
runat="server" ErrorMessage="This field is required."></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="UsernameTextBoxRegExValidator" runat="server" ControlToValidate="UsernameTextBox"
Display="Dynamic" ErrorMessage="Please specify a valid username (6 to 32 alphanumeric characters)." 
ValidationExpression="[0-9,a-z,A-Z, ]{6,32}"></asp:RegularExpressionValidator>

<asp:Button CssClass="btn" id="addUserButton" runat="server" Text="Add User"></asp:Button>
<asp:Button CssClass="btn" id="cancelButton" runat="server" Text="Cancel" CausesValidation="False"></asp:Button>

更新:后面的代码中有一些动态页面正在生成,这一定是搞砸了,因为当我清理它时,它就开始起作用。

解决方案

回答

它们是否在单独的验证组中(按钮和验证器控件)?

我们不是在手动调用JS来进行客户端验证吗?

回答

直到2.0版才将验证组添加到ASP.NET。这是一个1.1问题。

仔细检查设置,并确保我们没有在后面的代码中覆盖它。