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 all the Databases on a SQL Server
Jun 21 Javascript
十分钟打造AutoComplete自动完成效果代码
Dec 26 Javascript
理解JavaScript的prototype属性
Feb 11 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
Aug 11 Javascript
JS创建对象的写法示例
Nov 04 Javascript
详解ECharts使用心得总结
Dec 06 Javascript
js仿微信公众平台打标签功能
Apr 08 Javascript
javascript中mouseenter与mouseover的异同
Jun 06 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
Aug 18 Javascript
javaScript实现游戏倒计时功能
Nov 17 Javascript
vue实现移动端H5数字键盘组件使用详解
Aug 25 Javascript
javascript实现倒计时关闭广告
Feb 09 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
WAR3重制版DOTA 5V5初体验
2020/04/09 DOTA
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
2012/02/03 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
js+css实现上下翻页相册代码分享
2015/08/18 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
2020/07/18 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
详解Python编程中time模块的使用
2015/11/20 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
pytorch中图像的数据格式实例
2020/02/11 Python
500行python代码实现飞机大战
2020/04/24 Python
python小白学习包管理器pip安装
2020/06/09 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
关于python中导入文件到list的问题
2020/10/31 Python
css3学习心得分享
2013/08/19 HTML / CSS
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
Java servlet面试题
2012/03/04 面试题
有兼职工作经历的简历自我评价
2014/03/07 职场文书
保研推荐信
2014/05/09 职场文书
研究生求职自荐书
2014/06/23 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
学习十八大的感悟
2015/08/11 职场文书