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 相关文章推荐
js对象转json数组的简单实现案例
Feb 28 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
javascript 构造函数方式定义对象
Jan 02 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
Jul 27 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
jQuery UI制作选项卡(tabs)
Dec 13 Javascript
Angular4学习教程之DOM属性绑定详解
Jan 04 Javascript
js传递数组参数到后台controller的方法
Mar 29 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 Javascript
vue-cli3.0使用及部分配置详解
Aug 29 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 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
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
使用Curl命令查看请求响应时间方法
2016/11/04 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
关于vue-router的beforeEach无限循环的问题解决
2017/09/09 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
2018/08/22 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
深入理解Javascript中的this关键字
2015/03/27 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
干部年终考核评语
2015/01/04 职场文书
武夷山导游词
2015/02/03 职场文书
2015年计生工作总结范文
2015/04/24 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang