C# Page.isValid条件验证中存在问题

C# Page.isValid条件验证中存在问题,c#,javascript,validation,C#,Javascript,Validation,我有一系列带有必填字段验证器的文本框和一个带有必填字段验证器的文本区一个复选框和一个我正在检查验证的按钮都具有相同的验证组 选中复选框后,我将禁用文本框及其验证,并启用文本区域的验证,但如果未选中复选框,则所有控件都将启用,但文本区域的验证将被禁用。问题是,如果未选中复选框,我将向所有文本框插入值,但不会向文本区域和文本区域插入值在将值插入数据库之前,点击代码隐藏上的“保存”按钮,我正在检查Page.isValid,但此Page.isValid始终返回false,因为文本区域需要字段验证器,即使

我有一系列带有必填字段验证器的文本框和一个带有必填字段验证器的文本区一个复选框和一个我正在检查验证的按钮都具有相同的验证组 选中复选框后,我将禁用文本框及其验证,并启用文本区域的验证,但如果未选中复选框,则所有控件都将启用,但文本区域的验证将被禁用。问题是,如果未选中复选框,我将向所有文本框插入值,但不会向文本区域和文本区域插入值在将值插入数据库之前,点击代码隐藏上的“保存”按钮,我正在检查Page.isValid,但此Page.isValid始终返回false,因为文本区域需要字段验证器,即使它已禁用

这方面的javascript代码是

 // Function for enabling/disabling validation
function enableValidation(element, enable)
{
    $.each(Page_Validators, function()
    {
        if (this.controltovalidate == element.id)
        {
            ValidatorEnable(this, enable);
        }
    });
}

// Funcion Called on the click event of checkbox in 
// Provide Project Feedback popup in TestCATFeedback page.
function disableOtherElements(e)
{
    if (e.checked)
    {
        $('.disableIt').each(function()
        {
            enableValidation(this, false);
        }).attr('disabled', true).css('opacity', 0.3);
        $('.noteBox').each(function()
        {
            enableValidation(this, true);
        });

        $('.noteBox').focus();
    } 
    else
    {
        $('.disableIt').each(function()
        {
            enableValidation(this, true);
        }).removeAttr('disabled').css('opacity', 1);
        $('.noteBox').each(function()
        {
            enableValidation(this, false);
        });
    }
}
此处disableIt是分配给每个textbox控件的类,notebox是分配给textarea的类


如何解决此问题,即如果禁用验证控件,则不检查页面验证,并返回true page.isValid检查禁用控件的客户端验证,并根据要求在页面上加载启用/禁用控件验证。

我能找到的唯一解决此问题的方法是创建一个“bPageIsValidated”变量。此变量默认为“false”。然后,在每个服务器端验证器中,它被设置为true。这让您知道是否已经进行了验证。这是一个非常简单和直接的技术,所以我认为它应该很容易解决这个问题