2011-06-13 46 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" />

相關問題