2013-03-20 96 views
0

我有我的窗體上的一些驗證,有2個不同的ValidationGroupsPage.isValid檢查整個頁面,而不僅僅是選擇驗證組

提交表單之前,我只需要檢查ValidationGroup="main"控制是有效的 我嘗試了以下內容:

Page.Validate("main"); 
if (Page.IsValid) 
//do something 

它不停返回false我正要crazzzy。

在檢查確切的驗證器失敗後,它看起來像是在一個不同的驗證器上ocking ValidationGroup

我怎樣才能確保它只驗證「主」組?

這是我的全部代碼提交:(?也許我檢查失敗驗證錯誤),但無論哪種方式,我不斷收到假的page.isvalid :(

Page.Validate("main"); 
      if ((Page.IsValid) && (user.userRole.Contains("9"))) 
       btnSubmit.Visible = true; 
      else 
      { 
       foreach (BaseValidator valControl in Page.Validators) 
       { 
        WebControl assControl = Page.FindControl(valControl.ControlToValidate) as WebControl; 
        if (valControl.IsValid) 
        { 
         //do something. 

        } 
        else 
        { 
         //do something. 
         lblMessage.Text = valControl.ToString(); 
        } 

       } 
       btnSubmit.Visible = false; 
      } 

回答

0

請通過this閱讀它規定這

validate方法驗證指定的驗證組。 調用驗證組的驗證方法後,IsValid的方法 將返回true只有在兩個指定驗證組和 控件的驗證組導致頁面被張貼到 服務器有效。

+0

我在我的page_load方法中有這段代碼。我不確定「他控制的是什麼導致頁面被髮布到服務器是有效的。」意思是: -/ – 2013-03-20 15:44:25

+0

@MadamZuZu哪個控件引發了相應的服務器端事件?另外,如果您只關注某些驗證組/控件,爲什麼您需要驗證其他人? – Yahya 2013-03-20 15:46:34

+0

其他驗證器位於模式彈出式面板中。只在觸發彈出窗口時使用... – 2013-03-20 15:49:50

相關問題