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实现 在光标处插入指定内容
May 25 Javascript
javascript event 事件解析
Jan 31 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
Dec 23 Javascript
如何编写高质量JS代码(续)
Feb 25 Javascript
javascript中html字符串转化为jquery dom对象的方法
Aug 27 Javascript
Node.js DES加密的简单实现
Jul 07 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
Feb 27 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 Javascript
Angular实现的简单定时器功能示例
Dec 28 Javascript
JavaScript fetch接口案例解析
Aug 30 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
Jul 27 Javascript
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初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
javascript document.referrer 用法
2009/04/30 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
JavaScript高级程序设计 DOM学习笔记
2011/09/10 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
Jquery实现仿京东商城省市联动菜单
2015/11/19 Javascript
jquery+ajax实现注册实时验证实例详解
2015/12/08 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
ExtJS 4.2 Grid组件单元格合并的方法
2016/10/12 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
atom-design(Vue.js移动端组件库)手势组件使用教程
2019/05/16 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
Vue 打包的静态文件不能直接运行的原因及解决办法
2020/11/19 Vue.js
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
python3 线性回归验证方法
2019/07/09 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
Python Django搭建网站流程图解
2020/06/13 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
销售会计工作职责
2013/12/02 职场文书
食品行业求职人的自我评价
2014/01/19 职场文书
初中校园广播稿
2014/02/02 职场文书
明确岗位职责
2015/02/14 职场文书
关于感恩的作文
2019/08/26 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python