3

我在联系表格上有一个RequiredFieldValidator 。

当人们单击“提交”时,它会按预期工作,但如果他们单击“取消”或我表单上的多个菜单中的任何一个,RequiredFieldValidator会取消该操作。

我已经搜索并发现我需要使用CausesValidation = False(使用这篇文章)在我的表单上设置其他控件,但是我是否必须为页面上的每个控件都这样做?

更糟糕的是,我的表单上的菜单包含在 Master.Page 中,它们大多是<DIV>样式 CSS 按钮,但单击任何按钮都会导致RequiredFieldValidator触发并导致表单失败。

默认不应该是 False 并且我必须打开哪个控件来设置验证?

4

2 回答 2

4

您可以设置验证组

             <asp:TextBox ID="tb1" runat="server" ValidationGroup="ValidateMe" />
             <asp:TextBox ID="tb2" runat="server" />
             <asp:RequiredFieldValidator" ID="rfv1" runat="server" ControlToValidate="tb1" ValidationGroup="ValidateMe" />
               ...
             <asp:Button ID="btnSubmit" runat="server" ValidationGroup="ValidateMe" />

这里来

编辑,对不起,我没有把它正确地放入代码中并且它没有显示:

或者,如果它们只是取消之类的东西,您总是可以在客户端使用和处理它们

         <input type="button" > 
于 2012-07-27T01:03:43.367 回答
1

您只需要设置:

  CausesValidation = False

到你的按钮执行一个动作

作为替代方案,您可以ValidationGroup向控件和按钮添加一个属性,以控制哪些按钮引发验证。只有与指定匹配的控件ValidationGroup才会被验证

于 2012-07-27T01:02:06.903 回答