设置args.IsValid为true / false时,CustomValidator的ClientValidationFunction失败

时间:2011-06-15 07:29:37

标签: javascript asp.net customvalidator

我有一个带有ClientValidationFunction的CustomValidator,如下所示

function checkAmount(source, args) {
        var opt = document.getElementById('<%=optByAmount.ClientID %>');
        var txt = document.getElementById('<%=txtAmount.ClientID %>');
        if (opt.checked == true && txt.value == '') {
            //args.IsValid = false;
            alert('failed');
        }
        else {
            //args.IsValid = true;
            alert('passed');
        }
    }

我收到错误消息'传递'和'失败'仅当注释行被注释时。启用这些行后,我根本不会收到任何警报。为什么??

修改 停止并运行代码20分钟后(执行除此部分代码之外的其他操作),它现在正在工作!谢谢Damian和ub1k。我永远不会知道为什么会这样:(

2 个答案:

答案 0 :(得分:1)

您能否在代码中添加额外的一行?

alert(args);

在第一行?

我已经仔细检查了你的代码,它对我来说非常合适。除此之外,我多次使用CustomValidator,问题可能在其他地方。现在,如果你能检查args是否存在,那将会有所帮助。

答案 1 :(得分:0)

最有可能是因为

args.IsValid = true/false;

抛出一个异常,代码执行从那时起就不再发生了

不应该以某种方式将args初始化为数组吗?