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 相关文章推荐
javascript学习笔记(二) js一些基本概念
Jun 18 Javascript
jQuery设置与获取HTML,文本和值的简单实例
Feb 26 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
Jan 26 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
Jan 26 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
深入理解JavaScript定时机制
Oct 27 Javascript
简单的vue-resourse获取json并应用到模板示例
Feb 10 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
vue中的inject学习教程
Apr 24 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
记录一次开发微信网页分享的步骤
May 07 Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 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中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
ZeroClipboard插件实现多浏览器复制功能(支持firefox、chrome、ie6)
2014/08/30 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
js微信支付实现代码
2016/12/22 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
使用Mock.js生成前端测试数据
2020/12/13 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
python 全文检索引擎详解
2017/04/25 Python
python脚本实现验证码识别
2018/06/07 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
python空元组在all中返回结果详解
2020/12/15 Python
python中类与对象之间的关系详解
2020/12/16 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
秋季运动会加油稿200字
2014/01/11 职场文书
优秀学生干部个人事迹材料
2014/06/02 职场文书
四风之害观后感
2015/06/09 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
特种设备安全管理制度
2015/08/06 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android