一次显示多个验证摘要

时间:2010-08-24 13:22:19

标签: asp.net validation client-side

如何一次显示多个验证摘要?我目前在页面上有三个不同的验证组,用于页面的不同部分。基本上,第一部分应该由一个验证组验证,第二部分应验证第一部分和部分部分,第三部分应验证所有三部分。

我有以下javascript正确验证,但只有最后一个验证摘要可见,前两个没有出现(但控件旁边的红色星号确实出现)。

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

有没有办法验证所有三个组并显示所有三个组的摘要?

谢谢!

1 个答案:

答案 0 :(得分: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;
}