我正在创建一个页面,用户在其中输入卡号,并且在文本框中附加了许多验证器。
第一个是RequiredFieldValidator
第二个是RegularExpressionValidator
第三是CustomValidator
和OnServerValidate="validateServer"
和ClientValidationFunction="validateClient"
T自定义程序先执行客户端验证程序,然后再执行服务器端。我希望如果正则表达式验证器失败,则服务器端不会受到攻击。在自定义客户端代码中,我检查正则表达式验证器并返回True(这样就不会出现双重错误消息,一条来自REGEX,另一条来自CUSTOM验证器),但是如何禁用自定义验证器上的服务器验证?我无法弄清楚。
我在客户端验证器上尝试过此操作,但服务器端验证器仍然受到攻击:
if (!document.getElementById("myRegexValidator").isvalid) {
args.IsValid = true;
return false;
}
答案 0 :(得分:0)
没关系。
如果客户端验证器失败,则服务器端验证器不执行。
服务器端在我这边执行的原因是因为客户端有我没有捕获到的javascript错误(禁用了JS错误暂停)。由于IF语句中出现JS错误,因此总是会启动服务器端验证。