我有一个带有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。我永远不会知道为什么会这样:(
答案 0 :(得分:1)
您能否在代码中添加额外的一行?
alert(args);
在第一行?
我已经仔细检查了你的代码,它对我来说非常合适。除此之外,我多次使用CustomValidator,问题可能在其他地方。现在,如果你能检查args是否存在,那将会有所帮助。
答案 1 :(得分:0)
最有可能是因为
args.IsValid = true/false;
抛出一个异常,代码执行从那时起就不再发生了
不应该以某种方式将args初始化为数组吗?