2011-06-01 62 views
2

我有一個控件中的TextBox的RegularExpressionValidator,它本身是另一個控件的一部分。當我點擊按鈕提交表單時,似乎不應該這樣做,除非所有子控件都經過了適當的驗證。但是,最終發生的情況是,我看到驗證錯誤消息會彈出給每個無法驗證的控件,而在無法分析格式錯誤的輸入時會失敗。頁面中包含的控件驗證並不會使整個頁面無效

我試着圍繞失敗的代碼if(Page.IsValid){...},以確保它不運行沒有完整的驗證,但屬性結束時,我打斷點的時間。

如果沒有成功驗證任何子控件,整個頁面不應該無效嗎?

+0

你工作了嗎?我有相同的(或至少是類似的)問題。自定義'.ascx'中的驗證器在其父'.aspx'調用'Page.Validate()'時未被調用。 – Michael 2013-11-21 14:59:37

回答

2

您是否定義了不同的ValidationGroup控件?只要與按鈕相同的驗證組中的驗證器都設置正確,那麼應該阻止它。除非由於某種原因,JS沒有加載驗證器。

HTH。

1

設置"CausesValidation = true "到您的提交按鈕,我想你的問題將得到解決。

+0

它已經設置爲true,這就是爲什麼我相信我簡要看到驗證器的ErrorMessage。無論出於何種原因,表單仍然會回傳,這就是我卡住的地方。 – 2011-06-02 20:07:12

0

您是否在使用Page.IsValid之前調用了Page.Validate()?

+0

我做了,並且這不會將Page.IsValid更改爲false,所以某些內容或者仍未從驗證中獲得正確的結果。 – 2011-06-02 20:06:19