【问题标题】:CausesValidation not working with custom validatorsCausesValidation 不适用于自定义验证器
【发布时间】:2014-04-10 17:46:03
【问题描述】:

我在 aspx 页面上有自定义验证器,用户需要在退出控件后立即查看错误消息摘要。

为此,我在每个控件的 onblur 事件上调用 Page_ClientValidate('')。我拥有的自定义验证器之一是:

function ValidateCustomerId(oSrc, args) {
    var txtCustomerId = document.getElementById(txtCustomerId);

    if (txtCustomerId != null) {
        var customerId = txtCustomerId.value;

        if (!isInteger(customerId)) {
            document.getElementById("customerIdAsterik").style.display = 'inline';
            args.IsValid = false;
        }
        else {
            document.getElementById("customerIdAsterik").style.display = 'none';
        }
    }
}

如果用户输入无效条目并单击“取消”按钮,则在单击两次之前不会触发服务器端事件。取消按钮已经有CausesValidation=false。我认为这种行为是由于在 onblur 事件上调用了Page_ClientValidate(),否则它可以正常工作。

当他们点击取消按钮时是否可以跳过客户端验证,或者我可以采取任何方法来实现这一点。

【问题讨论】:

    标签: c# asp.net validation customvalidator


    【解决方案1】:

    此处列出了类似的问题: http://weblogs.asp.net/gurusarkar/archive/2013/05/30/after-first-postback-why-i-have-to-click-the-button-twice-for-postback-to-occur.aspx

    不确定这是否适用,但由于 onblur 而触发了验证。

    所以我认为在按钮单击中设置 Page_Block=false 可能会起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2019-03-08
      相关资源
      最近更新 更多