BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析


Posted in Javascript onDecember 01, 2016

问题1:

如下代码:

<input type="hidden" name="productId"/>
$("#addForm").bootstrapValidator({
fields: {
productId: {
validators: {
notEmpty: {
message: '请选择一个商品'
}
}
}
}
});

这样的配置并没有在提交的时候对表单元素productId进行验证,那是因为bootstrapValidator默认配置对于“隐藏域(:hidden)、禁用域(:disabled)、那啥域(:not(visible))”是不进行验证的。

解决方法:

$("#addForm").bootstrapValidator({
//excluded:[":hidden",":disabled",":not(visible)"] ,//bootstrapValidator的默认配置
excluded:[":disabled"],//关键配置,表示只对于禁用域不进行验证,其他的表单元素都要验证
fields: {
productId: {
validators: {
notEmpty: {
message: '请选择一个商品'
}
}
}
}
});

问题2:

我们往往会有这样的需求,如下图:

BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析

在选择商品之后会在productName里面展示商品名称给用户看,而在productId这个隐藏域里面放一个商品的ID。

一般情况下这样的操作是由程序来完成的,

$("input[name='productId']").val(data.productId);

bootstrapValidator这个插件不能捕获这样的“程序赋值事件”,所以这里不能达到验证的效果,所以我们需要做一个小小的变通:

$("#addForm").bootstrapValidator({
//excluded:[":hidden",":disabled",":not(visible)"] ,//bootstrapValidator的默认配置
excluded:[":disabled"],//关键配置,表示只对于禁用域不进行验证,其他的表单元素都要验证
fields: {
productId: {
trigger:"change", //问题2.关键配置
validators: {
notEmpty: {
message: '请选择一个商品'
}
}
}
}
});
//赋值之后触发一次“change”事件
$("input[name='productId']").val(data.productId).change();

这样以后bootrapValidator会因为触发了“change”事件,而捕获,达到验证的效果

以上所述是小编给大家介绍的BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript中input中readonly和disabled区别介绍
Oct 23 Javascript
js 动态修改css文件用到了cssRule
Aug 20 Javascript
JavaScript中获取鼠标位置相关属性总结
Oct 11 Javascript
js格式化时间小结
Nov 03 Javascript
javascript中if和switch,==和===详解
Jul 30 Javascript
JavaScript利用正则表达式替换字符串中的内容
Dec 12 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
Dec 16 Javascript
js实现的xml对象转json功能示例
Dec 24 Javascript
bootstrap选项卡使用方法解析
Jan 11 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
Jan 23 Javascript
js cavans实现静态滚动弹幕
May 21 Javascript
vue element和nuxt的使用技巧分享
Jan 14 Vue.js
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
Dec 01 #Javascript
jsTree使用记录实例
Dec 01 #Javascript
Vue.JS入门教程之列表渲染
Dec 01 #Javascript
Vue.JS入门教程之处理表单
Dec 01 #Javascript
利用js获取下拉框中所选的值
Dec 01 #Javascript
js微信扫描二维码登录网站技术原理
Dec 01 #Javascript
Bootstrap的class样式小结
Dec 01 #Javascript
You might like
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
js检测网络是否具体连接功能的代码
2014/05/23 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
js弹性势能动画之抛物线运动实例详解
2017/07/27 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
python得到单词模式的示例
2018/10/15 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
如何在Win10系统使用Python3连接Hive
2020/10/15 Python
美国电子产品购物网站:BuyDig.com
2020/06/17 全球购物
幼儿园校车司机的岗位职责
2014/01/30 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
工作失职检讨书500字
2014/10/17 职场文书
2014年招商工作总结
2014/11/22 职场文书
python基于tkinter实现gif录屏功能
2021/05/19 Python
redis lua限流算法实现示例
2022/07/15 Redis
SpringBoot详解执行过程
2022/07/15 Java/Android