bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码


Posted in Javascript onMay 19, 2020

注意:jQuery报 Maximum call stack size exceeded

错误描述:超出最大调用堆栈大小

错误原因:内部形成递归

解决方案: html 写法不规范,更改 html 写法,可参考官网示例,或下面代码。 

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>validate</title>
	<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.css" rel="stylesheet">
	<link href="https://cdn.bootcdn.net/ajax/libs/bootstrap-validator/0.5.3/css/bootstrapValidator.css" rel="stylesheet">
</head>
<body>
<div class="container">
	<div class="row">
	<form id="inputForm">
		<div class="form-group">
			<label class="col-lg-4 control-label">姓名</label>
			<div class="col-lg-8">
				<input type="text" class="form-control" name="xm" />
			</div>
		</div>
		<div class="form-group">
			<label class="col-lg-4 control-label">性别</label>
			<div class="col-lg-8">
				<input type="text" class="form-control" name="xb" />
			</div>
		</div>
		<div class="form-group">
			<label class="col-lg-4 control-label">年龄</label>
			<div class="col-lg-8">
				<input type="text" class="form-control" name="nl" />
			</div>
		</div>
	</form>
	<div class="row">
		<button id="btn1" class="btn btn-primary" >提交</button>
		<button id="btn2" class="btn btn-primary" >更改校验状态</button>
		<button id="btn3" class="btn btn-primary" >增加校验字段</button>
		<button id="btn4" class="btn btn-primary" >移除校验字段</button>
		<button id="btn5" class="btn btn-primary" >重置表单校验</button>
	</div>
	</div>
</div>
</body>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/2.2.4/jquery.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/bootstrap-validator/0.5.3/js/bootstrapValidator.js"></script>
<script>
$(function(){
	var formValidator = function(){
	$('#inputForm').bootstrapValidator({
		fields:{
			xm:{
				validators:{
					notEmpty:{
						message: '姓名不能为空'
					}
				}
			},
			xb:{
				validators:{
					notEmpty:{
						message: '性别不能为空'
					}
				}
			}
		}
	});
	}
	formValidator();
	
	// 提交表单
	$('#btn1').on('click', function(){
		var bootstrapValidator = $('#inputForm').data('bootstrapValidator');
		bootstrapValidator.validate();
		if(bootstrapValidator.isValid()){
			alter('提交成功');
		}
	});
	
	// 改变字段校验状态
	$('#btn2').on('click', function(){
		/*
			NOT_VALIDATED 未校验的
			VALIDATING 校验中的
			INVALID 校验失败的
			VALID 校验成功的
		*/
		// $('#inputForm').bootstrapValidator('updateStatus', 'xm', 'NOT_VALIDATED');
		// 或
		$('#inputForm').data('bootstrapValidator').updateStatus('xm', 'NOT_VALIDATED');
	});
	
	// 增加校验字段
	$('#btn3').on('click', function(){
		/*$('#inputForm').bootstrapValidator('addField', 'nl', {
			validators:{
				notEmpty:{
					message: '年龄不能为空'
				}
			}
		});*/
		// 或
		$('#inputForm').data('bootstrapValidator').addField('nl', {
			validators:{
				notEmpty:{
					message: '年龄不能为空'
				}
			}
		});
	});
	
	// 移除校验字段
	$('#btn4').on('click', function(){
		// 字段可以处于校验中,所以先处理校验状态
		// $('#inputForm').bootstrapValidator('updateStatus', 'xm', 'NOT_VALIDATED');
		// $('#inputForm').bootstrapValidator('removeField', 'xm');
		// 或
		$('#inputForm').data('bootstrapValidator').updateStatus('xm', 'NOT_VALIDATED');
		$('#inputForm').data('bootstrapValidator').removeField('xm');
		
	});
	
	// 重置表单校验
	$('#btn5').on('click', function(){
		$('#inputForm').bootstrapValidator('resetForm', true);
		// 或
		//$('#inputForm').data('bootstrapValidator').resetForm(true);
	});
	
	
});
</script>
</html>

总结

到此这篇关于bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码的文章就介绍到这了,更多相关bootstrapvalidator表单校验内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
解析arp病毒背后利用的Javascript技术附解密方法
Aug 06 Javascript
根据地区不同显示时间的javascript代码
Aug 13 Javascript
JS实现网页表格自动变大缩小的方法
Mar 09 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
Nov 15 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
JavaScript实现简单的双色球(实例讲解)
Jul 31 Javascript
浅谈Vue Element中Select下拉框选取值的问题
Mar 01 Javascript
快速解决vue-cli不能初始化webpack模板的问题
Mar 20 Javascript
Vue插件打包与发布的方法示例
Aug 20 Javascript
Js通过AES加密后PHP用Openssl解密的方法
Jul 12 Javascript
vue获取验证码倒计时组件
Aug 26 Javascript
node.js事件轮询机制原理知识点
Dec 22 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 #jQuery
jQuery AJAX应用实例总结
May 19 #jQuery
单线程JavaScript实现异步过程详解
May 19 #Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 #Javascript
JS使用for in有序获取对象数据
May 19 #Javascript
基于js实现数组相邻元素上移下移
May 19 #Javascript
Node.js API详解之 zlib模块用法分析
May 19 #Javascript
You might like
PHP变量内存分配问题记录整理
2013/11/27 PHP
destoon复制新模块的方法
2014/06/21 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例
2015/05/16 Javascript
jQuery 1.9.1源码分析系列(十四)之常用jQuery工具
2015/12/02 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
Python读写Excel文件方法介绍
2014/11/22 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
2018/04/18 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
python实现低通滤波器代码
2020/02/26 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
说明书格式及范文
2014/05/07 职场文书
机械操作工岗位职责
2014/08/08 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书
西安兵马俑导游词
2015/02/02 职场文书
工程部部长岗位职责
2015/02/12 职场文书
销售业务员岗位职责
2015/02/13 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
vue 实现上传组件
2021/05/31 Vue.js
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android