2011-03-11 105 views
0

我有一系列带有必填字段验证程序的文本框和一个带有必需字段验证程序的textarea复选框和点击其中的一个按钮我正在检查验证所有验证组都有相同的验证组 检查复选框我禁用文本框以及它们的验证并启用文本区域的验证,但是如果未选中复选框,则启用所有控件但禁用textarea的验证问题是如果未选中复选框并且插入值的所有文本框,但不是文本区域和点击后面的代码上的保存按钮我在检查之前检查Page.isValid值到数据库,但此Page.isValid总是返回false由于文本区域所需的字段验证程序,即使它被禁用。Page.isValid有条件验证中的问题

这个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检查

回答

0

禁用客户端验证控件和页面加载启用/禁用验证的控件根据要求。

0

我能找到这个问题的唯一解决方案是创建一个“bPageIsValidated”变量。这个变量默认为“false”。然后,在每个服务器端验证器中,它被设置为true。这让你知道验证是否已经发生。这是一个非常简单和直接的技术,所以我认为它应该很小心地处理这个问题。