BootstrapValidator动态修改message消息

博客内容讲述了在使用BootstrapValidator时遇到`Uncaught TypeError: Cannot read property 'message' of undefined`错误的问题,强调了回调函数必须返回boolean值以避免错误。作者分享了解决方案,主要是利用`validator.updateMessage()`方法动态修改验证消息,并提供了修改源码的建议,以及一个测试页面的代码示例。
摘要由CSDN通过智能技术生成

关于Uncaught TypeError: Cannot read property 'message' of undefined错误

抱歉各位,最近发现使用callback的时候必须要返回一个boolean值,验证通过必须返回true,否则返回false

如果不返回值就会js报错 【Uncaught TypeError: Cannot read property 'message' of undefined】

 

感谢CSDN帖子:https://blog.csdn.net/qq_21358931/article/details/78914960#updatemessage

最近在用bootstrapvalidator,业务要求验证一个字段,该字段需要与多个输入框的值进行比较判断,要改变提示消息,从09.18研究到09.19上午研究了一天多,百度上基本是找不到,bootstrapvalidator的api也找不到,网页打不开要挂梯子,难受呀,后来看了到大佬帖子搞定了:

我这里总结一下吧,主要使用validator.updateMessage();方法

validator.updateMessage('fildName如name','validator如callback','message如"不能含有关键字123"');

fields: {
  name: {
    tigger: 'change',
    validators: {
      notEmpty: {
        message: '请输入name'
      },
      callback: {
        message: 'name验证不通过',
        callback: function(value, validator) {
          if (value.indexOf('name') != -1) {
            validator.updateMessage('name', 'callback', '不能含有关键字name');
            return false;
          }
          if (value.indexOf('123') != -1) {
            validator.updateMessage('name', 'callback', '不能含有关键字123');
            return false;
          }
          return true;
        }
      }
    }
  }
}

不过大佬的意思是要修改源码,不然会出问题,我都试了没发现什么问题

我这里说明下源码的修改吧,因为源码里的代码都是压缩过没有格式的,所以我是把大佬的代码改为一个三元表达式了!
主要就是将bootstrapValidator.js和bootstrapValidator.min.js的

a(this).data("bv.messages").find('.help-block[data-bv-validator="'+c+'"][data-bv-for="'+b+'"]').html(d)

改为一个三元表达式

a(this).data('bv.messages').find('.help-block[data-bv-validator="'+c+'"][data-bv-for="'+b+'"]').find(".tip_message").html() == undefined ? a(this).data("bv.messages").find('.help-block[data-bv-validator="'+c+'"][data-bv-for="'+b+'"]').html(d) : a(this).data('bv.messages').find('.help-block[data-bv-validator="'+c+'"][data-bv-for="'+b+'"]').find(".tip_message").html(d);

这里把我写的一个测试页面的代码贴出来:

以下代码都有在线引用js和css

<!DOCTYPE html>
<html lang="
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值