2011-06-13 44 views
10

我对模式对话框中的文本框有以下验证程序。只有一个按钮的字段验证

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

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

回答

17

将验证组分配给每个验证程序,还要触发验证按钮(但不是其他按钮)。类似于:

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

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

此外,您可以使用'causesvalidation'按钮。如果它为false按钮不会响应aspx页面中的验证。

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

相关问题