2010-08-24 120 views
0

如何一次顯示多個驗證摘要?我目前在頁面的不同部分有一個頁面上有三個不同的驗證組。基本上,第一部分應該由一個驗證組驗證,第二部分應驗證第一部分和第三部分,第三部分驗證所有三部分。一次顯示多個驗證摘要

我有以下的javascript這驗證正確,但只有最後驗證摘要可見,前兩個不會出現(但紅色星號旁邊的控件都出現)。

function ValidateSection3() { 
    var validated = Page_ClientValidate("vgSection1"); 
    if (validated) { 
     validated = Page_ClientValidate("vgSection2"); 
     if (validated) 
      validated = Page_ClientValidate("vgSection3"); 
    } 
    return validated; 
} 

有沒有什麼辦法來驗證所有三個組,並顯示所有三個摘要?

謝謝!

+0

您可能需要執行回發/ AJAX才能讓其他人顯示? – cofiem 2010-08-24 13:25:26

+0

也不起作用。在服務器端執行相同的功能會導致相同的結果。 – 2010-08-24 13:51:08

回答

0

我已經想通了。如果有人在這個問題上失敗,我會這樣做。

function ValidateSection3() { 
    var isSection1Validated = Page_ClientValidate("vgSection1"); 
    var isSection2Validated = Page_ClientValidate("vgSection2"); 
    var isSection3Validated = Page_ClientValidate("vgSection3"); 

    for (i = 0; i < Page_ValidationSummaries.length; i++) { 
     if (Page_ValidationSummaries[i].validationGroup.toString() == "vgSection1") { 
      if (!isSection1Validated) { 
       Page_ValidationSummaries[i].style.display = ""; 
      } 
     } 
     else if (Page_ValidationSummaries[i].validationGroup.toString() == "vgSection2") { 
      if (!isSection2Validated) { 
       Page_ValidationSummaries[i].style.display = ""; 
      } 
     } 
     else if (Page_ValidationSummaries[i].validationGroup.toString() == "vgSection3") { 
      if (!isSection3Validated) { 
       Page_ValidationSummaries[i].style.display = ""; 
      } 
     } 
    } 
    return isSection1Validated && isSection2Validated && isSection3Validated; 
}