BootStrap智能表单实战系列(七)验证的支持


Posted in Javascript onJune 13, 2016

但凡是涉及到用户编辑信息然后保存的页面,都涉及到一个数据是否符合要求的检查,需要客服端和服务器端的校验的问题;

客服端的校验主要是为了提高用户体验,而服务器端的校验为了数据的合格性

该插件也为您支持到了表单验证,在需要验证的列的配置中加一项required:true 再生成表单元素前面的label的时候会自动在label前面生成一个*,用于提示 改列数据会进行校验

验证是使用了jquery validation,具体使用方式请参照jquery validation的api

代码如下(页面地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form5-Validation.html):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单验证</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../css/bootstrap.css">
<!--自定义站点样式-->
<link rel="stylesheet" href="../css/site.css">
<script src="../lib/jquery.js"></script>
<script src="../lib/jquery.validate.js"></script>
<script src="../lib/bootstrap.js"></script>
<!--工具方法-->
<script src="../scripts/global.js"></script>
<!--插件-->
<script src="../scripts/plugin.js"></script>
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading">
<label>带验证的智能表单</label>
<div class="pull-right">
<button id="btnSubmit" class="btn btn-primary btn-xs">提交表单</button>
</div>
</div>
<div class="panel-body">
<form action="#" id="formContainer" class="form form-horizontal"></form>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading"><label>介绍</label></div>
<div class="panel-body">
<h3 class="lead">表单的验证</h3>
<blockquote>
<p>使用jquery validation验证,其他验证方法请参考jquery validation,自定义验证global.Fn.setDefaultValidator()方法在global.js文件中,改文件属于工具文件,里面定义了很多工具方法,包括表单序列化、日期格式化、数组判断、设置默认验证、显示消息、弹窗、初始化插件、初始化表单、文件下载、表单保存等</p>
</blockquote>
</div>
</div>
<script>
$(function () {
var eles=[
[
{label:{text:'自定义用户名:'},ele:{type:'text',name:'UserName',title:'用户名:',required:true}},
{ele:{type:'radio',name:'sex',title:'性别:',items:[{text:'男',value:1},{text:'女',value:2}]}},
{ele:{type:'checkbox', name:'plant',title:'使用平台:',items:[{text:'APP',value:'app'},{text:'web',value:'web'}]}} 
],
[
{ele:{type:'select',name:'province',title:'省份:',withNull:true,items:[{text:'广东',value:'GD'},{text:'湖南',value:'HN'}]}},
{ele:{pre:{text:'<input type="radio">'},type:'text',name:'displayName',title:'显示名称:'}},
{ele:{type:'search',title:'产品',id:'ProductName',required:true}}
],
[
{ele:{type:'datetime',name:'FromeDate',title:'有效期:'}},
{ele:{type:'datetime',name:'ToDate',title:'~'}},
]
];
//隐藏表单元素主要用于编辑时候后台可以区别开来
var hides = [{ id: 'primaryKey' }];
var bsForm = new BSForm({ eles: eles, hides: hides, autoLayout: '1,3' }).Render('formContainer',function(bf){
var model={primaryKey:1,UserName:'xxg',sex:1,plant:['app','web'],province:'GD',displayName:'TEST',ProductName:'笔记本',FromeDate:'2015-06-10',ToDate:'2015-08-08'};
bf.InitFormData(model);
});
$("#btnSubmit").bind('click',function () {
if (!$("#formContainer").valid()) {
alert("验证没通过!");
}
else{
var postData=bsForm.GetFormData();
alert("获取到的表达数据为:"+JSON.stringify(postData)); 
}
});
//使用自定义配置的验证样式处理
global.Fn.setDefaultValidator();
//定义验证规则
$("#formContainer").validate({
rules:{
UserName:{
required:true,
minlength:3,
maxlength:10
},
ProductName:{required:true}
}
});
});
</script>
</body></html>

代码中为UserName列配置了必填和长度验证,运行界面将UserName的值删除,提交表单可以看到效果:

效果图如下:

BootStrap智能表单实战系列(七)验证的支持

Javascript 相关文章推荐
flash调用js中的方法,让js传递变量给flash的办法及思路
Aug 07 Javascript
JS获取计算机mac地址以及IP的实现方法
Jan 08 Javascript
用JQuery实现全选与取消的两种简单方法
Feb 22 Javascript
jQuery调用Webservice传递json数组的方法
Aug 06 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
Sep 05 Javascript
Node.js调试技术总结分享
Mar 12 Javascript
面试常见的js算法题
Mar 23 Javascript
微信小程序 支付后台java实现实例
May 09 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
使用mpvue搭建一个初始小程序及项目配置方法
Dec 03 Javascript
CountUp.js实现数字滚动增值效果
Oct 17 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
Oct 30 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
Jun 13 #Javascript
js 截取或者替换字符串中的数字实现方法
Jun 13 #Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
Jun 13 #Javascript
BootStrap智能表单实战系列(四)表单布局介绍
Jun 13 #Javascript
JS/jQ实现免费获取手机验证码倒计时效果
Jun 13 #Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 #Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
Jun 13 #Javascript
You might like
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
hessian 在PHP中的使用介绍
2010/12/13 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
关于this和self的使用说明
2010/08/01 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
python进行两个表格对比的方法
2018/06/27 Python
Python reversed函数及使用方法解析
2020/03/17 Python
Pytorch转tflite方式
2020/05/25 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
scrapy处理python爬虫调度详解
2020/11/23 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
FC-Moto丹麦:欧洲最大的摩托车服装和头盔商店之一
2019/08/20 全球购物
幼儿园实习生辞职信
2014/01/20 职场文书
《槐乡五月》教学反思
2014/04/25 职场文书
五四青年节优秀演讲稿范文
2014/05/28 职场文书
增员口号大全
2014/06/18 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
2014年收银工作总结
2014/11/13 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书