1

我有一个带有 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');
        }
    }

仅当注释行被 COMMENTED 时,我才会收到错误消息“通过”和“失败”。启用这些线路后,我根本不会收到任何警报。为什么 ??

编辑 在停止并运行代码 20 分钟后(做这部分代码以外的事情),它现在正在工作!!!感谢达米安和 ub1k。我永远不会知道为什么会这样:(

4

2 回答 2

1

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

alert(args);

在第一行?

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

于 2011-06-15T08:07:47.257 回答
0

很可能是因为

args.IsValid = true/false;

引发异常并且从那时起代码执行不再执行

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

于 2011-06-15T07:34:41.457 回答