【问题标题】:Validator: How to disable ServerSide validation if ClientSide fails验证器:如何禁用客户端的服务器端验证失败
【发布时间】:2018-11-23 22:41:58
【问题描述】:

我正在制作一个用户输入卡号的页面,并且我在文本框中附加了许多验证器。

第一个是RequiredFieldValidator

第二个是RegularExpressionValidator

第三个是CustomValidatorOnServerValidate="validateServer"ClientValidationFunction="validateClient"

自定义的执行客户端验证器,然后执行服务器端。如果正则表达式验证器失败,我希望服务器端不会受到影响。在自定义客户端代码中,我检查正则表达式验证器并返回 True(这样我就没有双重错误消息,一条来自 REGEX,一条来自 CUSTOM 验证器),但是如何禁用自定义验证器上的服务器验证?我想不通。

我在客户端验证器上试过这个,但服务器端验证器仍然被命中:

if (!document.getElementById("myRegexValidator").isvalid) {
    args.IsValid = true; 
    return false;
}

【问题讨论】:

    标签: asp.net vb.net customvalidator


    【解决方案1】:

    没关系。

    如果客户端验证器失败,则服务器端验证器不会执行。

    服务器端在我这边执行的原因是因为客户端有我没有捕捉到的 javascript 错误(在 JS 错误时暂停被禁用)。由于 IF 语句中的 JS 错误,服务器端验证总是启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 2019-01-16
      • 2010-11-20
      • 2013-10-11
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多