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 相关文章推荐
jquery下异步提交表单 异步跨域提交表单
Nov 17 Javascript
javascript拖拽上传类库DropzoneJS使用方法
Dec 05 Javascript
Jquery利用mouseenter和mouseleave实现鼠标经过弹出层且可以点击
Feb 12 Javascript
jQuery的内容过滤选择器学习教程
Apr 18 Javascript
JQuery 设置checkbox值二次无效的解决方法
Jul 22 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
JS实现的幻灯片切换显示效果
Sep 07 Javascript
原生js实现吸顶效果
Mar 13 Javascript
JavaScript同源策略和跨域访问实例详解
Apr 03 Javascript
JavaScript实现一个简易的计算器实例代码
May 10 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 Javascript
利用d3.js实现蜂巢图表带动画效果
Sep 03 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
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
详解php中 === 的使用
2016/10/24 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
jquery js 获取时间差、时间格式具体代码
2013/06/05 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
2014/05/07 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
2020/04/26 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
Python的另外几种语言实现
2015/01/29 Python
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
详解Python3.6安装psutil模块和功能简介
2018/05/30 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
python中time库的实例使用方法
2019/10/31 Python
python3下pygame如何实现显示中文
2020/01/11 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
python求解汉诺塔游戏
2020/07/09 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
大学生就业推荐信范文
2013/11/29 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
大学运动会加油稿
2015/07/22 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书