jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法


Posted in Javascript onJanuary 18, 2016

先给大家分享数据校验显示效果

jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法

Web前端数据校验组件

Web项目中客户端与服务端的交互离不开Form表单,Form表单中最常用的元素莫过于input标签,input标签首先要用的肯定是text文本框啦!

input文本框允许用户任意输入,难免会会有用户输入一些不符合规定的数据,此时,在提交之前对数据校验是很有必要的,如果等到提交到服务端再校验就会大大降低用户体验啦。

前端校验有很多现成的组件,比较好用的有 EasyUI 的 validatebox 插件,提示界面做的相当友好,只是validatebox 默认提供的校验规则比较有限,有时我们需要添加自己的校验规则。

rules: { 
email:{ 
validator: function(value){ 
return ...?$/i.test(value); 
}, 
message: 'Please enter a valid email address.' 
}, 
url: { 
validator: function(value){ 
return ...?$/i.test(value); 
}, 
message: 'Please enter a valid URL.' 
}, 
length: { 
validator: function(value, param){ 
var len = $.trim(value).length; 
return len >= param[0] && len <= param[1] 
}, 
message: 'Please enter a value between {0} and {1}.' 
}, 
remote: { 
validator: function(value, param){ 
var data = {}; 
data[param[1]] = value; 
var response = $.ajax({ 
url:param[0], 
dataType:'json', 
data:data, 
async:false, 
cache:false, 
type:'post' 
}).responseText; 
return response == 'true'; 
}, 
message: 'Please fix this field.' 
} 
}

自定义校验规则

添加新的校验规则时最好不要在EasyUI的源文件中进行,第一是避免因误操作而导致污染了EasyUi源码,更重要的是考虑到以后容易进行组件升级。所以最合理的办法是单独写自己的扩展文件。

比如:我在原有规则的基础上新增了以下三项校验,单独文件 easyui-extend-rcm.js:

(function($) { 
/** 
* jQuery EasyUI 1.4 --- 功能扩展 
* 
* Copyright (c) 2009-2015 RCM 
* 
* 新增 validatebox 校验规则 
* 
*/ 
$.extend($.fn.validatebox.defaults.rules, { 
idcard: { 
validator: function(value, param) { 
return idCardNoUtil.checkIdCardNo(value); 
}, 
message: '请输入正确的身份证号码' 
}, 
checkNum: { 
validator: function(value, param) { 
return /^([0-9]+)$/.test(value); 
}, 
message: '请输入整数' 
}, 
checkFloat: { 
validator: function(value, param) { 
return /^[+|-]?([0-9]+\.[0-9]+)|[0-9]+$/.test(value); 
}, 
message: '请输入合法数字' 
} 
}); 
})(jQuery);

自定义规则使用方式

在<head>中除了引入EasyUI的文件之外,还要引入自己的扩展文件,顺序在EasyUI文件之后:

<pre name="code" class="javascript">
<span style="font-size:18px;">
<script src="#WEBROOT()/static/jseasyui/jquery.easyui.min.js" type="text/javascript" ></script> 
<script src="#WEBROOT()/static/js/comm/easyui-extend-rcm.js" type="text/javascript"></script>
</span>

然后在Html中如下引用即可,一定要加Class 和 data-options两个属性:

<pre name="code" class="html"><span style="font-size:18px;"><div id="dlg" class="easyui-dialog" style="width:300px; height:300px; vertical-align: middle;" closed="true" title='添加中药' buttons="#dlg-buttons"> 
<div id="editForm" style="background:'';padding:20px;width:200px;height:200px; display:none;"> 
<form id="form" method="post"> 
<div style="padding-left:16px;padding-top:20px;" hidden="true"> 
<input type="text" name="dlg_drugId" id="dlg_drugId" hidden="true" /> 
</div> 
<div style="padding-top:10px;padding-left:40px;"> 
<label for="dlg_name">药物:</label> 
<input type="text" name="dlg_name" id="dlg_name" class="easyui-validatebox" readonly="readonly" /> 
</div> 
<div style="padding-top:10px;padding-left:40px;"> 
<label for="dlg_price">单价:</label> 
<input type="text" name="dlg_price" id="dlg_price" <span style="color:#ff0000;">class="easyui-validatebox" data-options="required:true,validType:'checkFloat'"</span> /> 
</div> 
<div style="padding-top:10px;padding-left:40px;"> 
<label for="dlg_purchase_price">进价:</label> 
<input type="text" name="dlg_purchase_price" id="dlg_purchase_price" <span style="color:#ff0000;">class="easyui-validatebox" data-options="validType:'checkFloat'"</span> /> 
</div> 
<div style="padding-top:10px;padding-left:40px;"> 
<label for="dlg_stock">库存:</label> 
<input type="text" name="dlg_stock" id="dlg_stock" <span style="color:#ff0000;">class="easyui-validatebox" data-options="validType:'checkNum'"</span> /> 
</div> 
<div style="padding-top:10px;padding-left:40px;" align="center"> 
<input type="button" value="保存" onclick="saveTCMDrugPublicMapped()" class="bt_style" /> 
</div> 
</form> 
</div> 
</div></span>

详解jQuery easyui 校验框validatebox用法

JQuery EasyUI 验证框(ValidateBox)在表单的验证方面给我们提供了很方便的方法

<input id="vv" required="true" validType="email">

属性

属性名 类型 描述 默认值
required 布尔 定义文本域是否为必填项 false
validType 字符串 定义字段的验证类型比如email, url, etc. null
missingMessage 字符串 当文本框为空时提示的文本信息 This field is required
invalidMessage 字符串 当文本框内容不合法时提示的文本信息 null

方法

方法名 参数 描述
destroy none 删除并且销毁组件
validate none 做验证以确定文本框的内容是否是有效的
isValid none 调用验证方法并返回验证结果,true或者false

注意这里除了required属性外,若validType属性失败.并不会阻止表单提交..所以我们这里如果要阻止表单提交,就又要利用jquery ui提交的表单方法

具体写法是

$(":submit").click(function(){
if(!$("#form").form('validate')){
return false;
}
})
#form是<form>表单的ID
Javascript 相关文章推荐
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
Apr 01 Javascript
ExtJS Grid使用SimpleStore、多选框的方法
Nov 20 Javascript
微信小程序 实现动态显示和隐藏某个控件
Apr 27 Javascript
angularjs数组判断是否含有某个元素的实例
Feb 27 Javascript
Vue2.0结合webuploader实现文件分片上传功能
Mar 09 Javascript
浅谈vue中.vue文件解析流程
Apr 24 Javascript
Vue+axios实现统一接口管理的方法
Jul 23 Javascript
js事件触发操作实例分析
Jun 21 Javascript
微信小程序之左右布局的实现代码
Dec 13 Javascript
JS数组Reduce方法功能与用法实例详解
Apr 29 Javascript
React实现轮播效果
Aug 25 Javascript
原生JavaScript实现购物车
Jan 10 Javascript
jquery.validate 自定义验证方法及validate相关参数
Jan 18 #Javascript
实例详解jQuery表单验证插件validate
Jan 18 #Javascript
基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
Jan 18 #Javascript
jQuery插件Validate实现自定义校验结果样式
Jan 18 #Javascript
jQuery插件实现带圆点的焦点图片轮播切换
Jan 18 #Javascript
轻松实现js图片预览功能
Jan 18 #Javascript
jQuery插件Validate实现自定义表单验证
Jan 18 #Javascript
You might like
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
几个javascript操作word的参考代码
2009/10/26 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
详解JavaScript中|单竖杠运算符的使用方法
2016/05/23 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
2017/05/10 Javascript
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
VUE实现密码验证与提示功能
2019/10/18 Javascript
javascript实现前端成语点击验证
2020/06/24 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
使用go和python递归删除.ds store文件的方法
2014/01/22 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
python实现简易内存监控
2018/06/21 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
创业计划书六个要素
2013/12/26 职场文书
成立公司计划书
2014/05/07 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
新生开学寄语大全
2015/05/28 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
如何通过一篇文章了解Python中的生成器
2022/04/02 Python
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers