仅对单个按钮进行现场验证

时间:2011-06-13 15:03:37

标签: asp.net validation requiredfieldvalidator

我在模式对话框内的文本框上有以下验证器。

<asp:RequiredFieldValidator runat = "server" 
                            ErrorMessage = "Role name can not be empty."
                            ControlToValidate = "tbxRoleName" />

它的工作原理应该是这样,除了验证触发aspx页面上的每个其他按钮OnClick处理程序。由于对话框不可见,看起来按钮只是在页面上不起作用。我的解决方法是添加CausesValidation =&#34; false&#34;在页面上的所有按钮上。但这是一个非常糟糕的解决方案,我认为应该有一个更聪明的方法。

4 个答案:

答案 0 :(得分:22)

将ValidationGroup分配给每个验证器以及应该触发验证的按钮(但不是另一个按钮)。类似的东西:

<asp:RequiredFieldValidator ValidationGroup='valGroup1' ... />

<asp:Button ValidationGroup='valGroup1' Text='I trigger validation' ... />

答案 1 :(得分:9)

答案 2 :(得分:4)

您也可以使用&#39; causevalidation&#39;到按钮。如果为false,Button将不响应aspx页面中的验证。

实施例: <asp:Button runat="server" Text="Cancel" CausesValidation="false" />

答案 3 :(得分:1)

Button有一个属性CausesValidation,可以禁用该按钮的验证。 更多信息:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.causesvalidation.aspx