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 CSS修改学习第二章 样式
Feb 19 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
Aug 02 Javascript
5分钟理解JavaScript中this用法分享
Nov 09 Javascript
简易的投票系统以及js刷票思路和方法
Apr 07 Javascript
深入剖析JavaScript面向对象编程
Jul 12 Javascript
JS实现图片剪裁并预览效果
Aug 12 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
Nov 21 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
Apr 12 Javascript
Vue最新防抖方案(必看篇)
Oct 30 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
vue+element实现图片上传及裁剪功能
Jun 29 Javascript
vue+element table表格实现动态列筛选的示例代码
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
Sony CFR 320 修复改造
2020/03/14 无线电
PHP出错界面
2006/10/09 PHP
php MessagePack介绍
2013/10/06 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
php解析xml 的四种简单方法(附实例)
2016/07/11 PHP
php redis实现文章发布系统(用户投票系统)
2017/03/04 PHP
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
jquery中get和post的简单实例
2014/02/04 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
2016/10/11 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
js实现3D旋转相册
2020/08/02 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
学习python (1)
2006/10/31 Python
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
django 修改server端口号的方法
2018/05/14 Python
Python绘制股票移动均线的实例
2019/08/24 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
python统计字符的个数代码实例
2020/02/07 Python
Python线程threading模块用法详解
2020/02/26 Python
护理专业毕业生推荐信
2013/10/31 职场文书
汇报材料怎么写
2014/12/30 职场文书
结婚十年感言
2015/07/31 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers