繁体   English   中英

条件验证中的Page.isValid问题

[英]Page.isValid Problem in conditional validation

我有一系列带有必填字段验证器的文本框和一个带有必填字段验证器的文本区域,一个复选框和一个单击要检查的按钮(我正在检查验证)都在检查复选框时都具有相同的验证组,同时也禁用了文本框以及它们的验证并启用文本区域的验证,但是如果未选中复选框,则所有控件均已启用,但textarea的验证被禁用,问题在于,如果未选中复选框,并且我将值插入所有文本框,而不是文本区域,并且在将值插入数据库之前,我要检查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是分配给每个文本框控件的类,notebox是分配给textarea的类

如何解决以下问题:如果禁用了验证控件,则不要检查页面验证并返回true Page.isValid检查

对于此问题,我唯一能找到的解决方案是创建一个“ bPageIsValidated”变量。 此变量默认为“ false”。 然后,在每个服务器端验证器中,将其设置为true。 这可以让您知道是否已经进行验证。 这是一种非常简单明了的技术,因此我认为它应该很方便地解决此问题。

禁用控件的客户端验证,并在页面加载上根据需要启用/禁用控件的验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM