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 相关文章推荐
List the Codec Files on a Computer
Jun 11 Javascript
JavaScript常用验证函数实例汇总
Nov 25 Javascript
JavaScript获取对象在页面中位置坐标的方法
Feb 03 Javascript
基于javascript实现九九乘法表
Mar 27 Javascript
js replace()去除代码中空格的实例
Feb 14 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
Mar 22 Javascript
深入理解Vue2.x的虚拟DOM diff原理
Sep 27 Javascript
vue2中使用less简易教程
Mar 27 Javascript
VueJS 取得 URL 参数值的方法
Jul 19 Javascript
基于Layui自定义模块的使用方法详解
Sep 14 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
Sep 19 Javascript
解决vue+webpack项目接口跨域出现的问题
Aug 10 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
Python运算符重载用法实例
2015/05/28 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Python networkx包的实现
2020/02/14 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
如何写python的配置文件
2020/06/07 Python
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
Europcar比利时:租车
2019/08/26 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
应届大学生自荐信格式
2013/09/21 职场文书
九年级体育教学反思
2014/01/23 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
社区居务公开实施方案
2014/03/27 职场文书
工程材料采购方案
2014/05/18 职场文书
四风对照检查材料范文
2014/09/27 职场文书
房租涨价通知
2015/04/23 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
Redis分布式锁的7种实现
2022/04/01 Redis