加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 远程验证OnBlur和空字符串

发布时间:2020-12-16 03:44:54 所属栏目:asp.Net 来源:网络整理
导读:我有一个启用了远程验证的视图模型.在我看来,我也禁用了OnKeyUp $(function() { $.validator.setDefaults({ onkeyup: false }); }) 但是,如果我专注于文本框,并将焦点移动到另一个控件,则根本不会触发远程验证. 当我将它配置为onBlur和空字符串时,有没有办法
我有一个启用了远程验证的视图模型.在我看来,我也禁用了OnKeyUp

$(function() {
        $.validator.setDefaults({ onkeyup: false });
    })

但是,如果我专注于文本框,并将焦点移动到另一个控件,则根本不会触发远程验证.

当我将它配置为onBlur和空字符串时,有没有办法可以让远程验证触发?

解决方法

为此,您需要修改jquery-validate.js文件.

与远程验证相关的代码:

remote: function(value,element,param) {
  if ( this.optional(element) )
    return "dependency-mismatch";

  var previous = this.previousValue(element);
  ....
  // ajax call
  ....
}

第一个if块测试元素是否是可选的,除非将[Required]属性应用于属性,或者属性是值类型(我假设你的属性是typeof string),所以函数返回并且永远不会达到进行ajax调用的代码.请注意,即使您添加了[必需]属性,此代码块也永远不会被调用,因为必需:首先验证,然后您将获得“需要提交XXX”消息.

如果注释掉第一个if块,并使用空字符串进行聚焦,则将触发远程验证.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读