引入参考最下面API

missingMessage:未填写时显示的信息
validType:验证类型见下示例
invalidMessage:无效的数据类型时显示的信息
required="true" 必填项
class="easyui-validatebox" 文本验证
class="easyui-numberbox" 数字验证
html
  1. 邮箱验证:<input type="text" validtype="email" required="true" missingMessage="不能为空" invalidMessage="邮箱格式不正确" /><br />
  2. 网址验证:<input type="text" validtype="url" invalidMessage="url格式不正确[http://www.example.com]" /><br />
  3. 长度验证:<input type="text" validtype="length[8,20]" invalidMessage="有效长度8-20" /><br />
  4. 手机验证:<input type="text" validtype="mobile" /><br />
  5. 邮编验证:<input type="text" validtype="zipcode" /><br />
  6. 账号验证:<input type="text" validtype="account[8,20]" /><br />
  7. 汉子验证:<input type="text" validtype="CHS" /><br />
  8. 远程验证:<input type="text" validtype="remote['checkname.aspx','name']" invalidMessage="用户名已存在"/>
js
  1. // easyui通用验证规则
  2. $.extend($.fn.validatebox.defaults.rules, {
  3. date: {
  4. validator: function (value) {
  5. var reg = /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/;
  6. return reg.test(value);
  7. },
  8. message: '日期格式不正确 YYYY-MM-DD'
  9. },
  10. integer: {
  11. validator: function (value) {
  12. var reg = /^[\-\+]?\d+$/;
  13. return reg.test(value);
  14. },
  15. message: '无效的整数'
  16. },
  17. number: {
  18. validator: function (value) {
  19. var reg = /^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/;
  20. return reg.test(value);
  21. },
  22. message: '无效的数值'
  23. },
  24. mobile: {
  25. validator: function (value) {
  26. alert(123)
  27. var reg = /^1[3|4|5|8|9]\d{9}$/;
  28. return reg.test(value);
  29. },
  30. message: '输入手机号码格式不准确.'
  31. }
  32. })


  1. $.extend($.fn.validatebox.defaults.rules, {
  2. ajaxLookName: {//ajax验证
  3. validator: function (value) {
  4. $.post((baseURL+"/housemanage/nhousegroupdef/vaild/lookhousename"),{houseName:value},function(rec){
  5. if(rec.code == "0"){
  6. if(rec.data.result){
  7. $.fn.validatebox.defaults.rules.ajaxLookName.message='看房团名称已被其它用户定义过,请修改!';
  8. return false;
  9. }else{
  10. return true;
  11. }
  12. }else{
  13. alert(rec.desc);
  14. }
  15. },"json").error(function(){
  16. alert("请求失败!");
  17. });
  18. },
  19. message: ''
  20. }
  21. })

验证
  1. $($($addDiv).find("#addForm")).form('validate')//返回 true false

至于 要不要加 $('input[type=text]').validatebox();   使所有验证生效,api上说 设置了样式可以不必加,但是实际中和bootstarp集成中不能调用,一调用就出现莫名其妙的错误

最后说一下  easyui、不支持组合校验   渣渣  我也懒得自定义多种规则了  最多只能支持 一个必填 和 一个自定义验证
以上是正常的使用

与bootstarp使用的时候又出现各种奇葩问题

1.easyui js 要引两次
2.自定义的验证规则要写在第二次引easy ui 前面 否则不生效
3.自定义的ajax的规则不生效了,需要自己自定义 , 采用隐藏框吧
4.$('input[type=text]').validatebox();   使所有验证生效,api上说 设置了样式可以不必加,但是实际中和bootstarp集成中不能调用,一调用就出现莫名其妙的错误

第二种bug 代码
  1. <link rel="stylesheet" href="${baseURL}/js/3rd-plug/easy-ui-1.4.2/themes/black/easyui.css" type="text/css"/>
  2. <link rel="stylesheet" href="${baseURL}/js/3rd-plug/easy-ui-1.4.2/themes/icon.css" type="text/css"/>
  3. <script type="text/javascript" src="${baseURL}/js/3rd-plug/easy-ui-1.4.2/jquery.easyui.min.js"></script>
  4. <script type="text/javascript" src="${baseURL}/js/3rd-plug/easy-ui-1.4.2/locale/easyui-lang-zh_CN.js"></script>
  5. <script type="text/javascript" src="${baseURL}/js/3rd-plug/easy-ui-1.4.2/locale/common_validation-zh_CN.js"></script>
  6. <script>
  7. $.extend($.fn.validatebox.defaults.rules, {
  8. datecompare: {
  9. validator: function (value) {
  10. if($('#regEndtime').val()&&$('#regBegintime').val()>$('#regEndtime').val()){
  11. return false;
  12. }
  13. return true;
  14. },
  15. message: '报名开始时间不能大于报名截止时间,请修改!'
  16. },
  17. lookhousedatecompare: {
  18. validator: function (value) {
  19. if($('#regEndtime').val()&&$('#lookhousetime').val()<$('#regEndtime').val()){
  20. return false;
  21. }
  22. return true;
  23. },
  24. message: '看房时间必须大于报名截止时间,请修改!'
  25. },
  26. numcompare: {
  27. validator: function (value) {
  28. if($('#maxNum').val()&&$('#minNum').val()>$('#maxNum').val()){
  29. return false;
  30. }
  31. return true;
  32. },
  33. message: '成团最低人数必须不能大于成团最高人数,请修改!'
  34. }
  35. })
  36. </script>
  37. <script type="text/javascript" src="${baseURL}/js/3rd-plug/easy-ui-1.4.2/jquery.easyui.min.js"></script>

如上图   自定义验证规则要引在第二次前面

第三种bug 代码 

  1. $("#lookhousegroupName").on("blur",function(){
  2. if($("#lookhousegroupName").hasClass("validatebox-invalid")){
  3. return;
  4. }
  5. $.post((baseURL+"/housemanage/nhousegroupdef/vaild/lookhousename"),{houseName:($(this).val())},function(rec){
  6. if(rec.code == "0"){
  7. if(rec.data.result){
  8. $("#lookhousegroupNameajax").val("0");
  9. return false;
  10. }else{
  11. $("#lookhousegroupNameajax").val("1");
  12. }
  13. }else{
  14. alert(rec.desc);
  15. }
  16. },"json").error(function(){
  17. alert("请求失败!");
  18. });
  19. })

如上 $("#lookhousegroupName").hasClass("validatebox-invalid") 加上这句 , 是要等元素验证通过后 再调用ajax,防止不必要的多余验证



最后贴上  api

通过 $.fn.validatebox.defaults 重写默认的 defaults。

验证框(validatebox)是为了验证表单输入字段而设计的。如果用户输入无效的值,它将改变背景颜色,显示警告图标和提示消息。验证框(validatebox)可与表单(form)插件集成,防止提交无效的字段。


依赖

  • tooltip

用法

从标记创建验证框(validatebox)。

  1. <input id="vv" class="easyui-validatebox" data-options="required:true,validType:'email'">

使用 javascript 创建验证框(validatebox)。

  1. <input id="vv">
  1. $('#vv').validatebox({
  2. required: true,
  3. validType: 'email'
  4. });

检查密码和重新输入密码是相同的。

  1. // extend the 'equals' rule
  2. $.extend($.fn.validatebox.defaults.rules, {
  3. equals: {
  4. validator: function(value,param){
  5. return value == $(param[0]).val();
  6. },
  7. message: 'Field do not match.'
  8. }
  9. });
  1. <input id="pwd" name="pwd" type="password" class="easyui-validatebox" data-options="required:true">
  2. <input id="rpwd" name="rpwd" type="password" class="easyui-validatebox"
  3. required="required" validType="equals['#pwd']">

验证规则

验证规则是通过使用 required 和 validType 属性来定义的,这里是已经实施的规则:

  • email:匹配 email 正则表达式规则。
  • url:匹配 URL 正则表达式规则。
  • length[0,100]:允许从 x 到 y 个字符。
  • remote['http://.../action.do','paramName']:发送 ajax 请求来验证值,成功时返回 'true' 。

要自定义验证规则,重写 $.fn.validatebox.defaults.rules,来定义一个验证函数和无效的信息。例如,定义一个 minLength 验证类型:

  1. $.extend($.fn.validatebox.defaults.rules, {
  2. minLength: {
  3. validator: function(value, param){
  4. return value.length >= param[0];
  5. },
  6. message: 'Please enter at least {0} characters.'
  7. }
  8. });

现在您可以使用这个 minLength 验证类型来定义一个至少输入5个字符的输入框:

  1. <input class="easyui-validatebox" data-options="validType:'minLength[5]'">

属性

名称 类型 描述 默认值
required boolean 定义是否字段应被输入。 false
validType string,array 定义字段的验证类型,比如 email、url,等等。可能的值:
1、验证类型字符串,应用单个验证规则。
2、验证类型数组,应用多个验证规则。单个字段上的多个验证规则自版本 1.3.2 起可用。

代码实例:
  1. <input class="easyui-validatebox" data-options="required:true,validType:'url'">
  2. <input class="easyui-validatebox" data-options="
  3. required:true,
  4. validType:['email','length[0,20]']
  5. ">
null
delay number 延迟验证最后的输入值。该属性自版本 1.3.2 起可用。 200
missingMessage string 当文本框为空时出现的提示文本。 该字段是必需的。
invalidMessage string 当文本框的内容无效时出现的提示文本。 null
tipPosition string 定义当文本框的内容无效时提示消息的位置。可能的值:'left'、'right'。该属性自版本 1.3.2 起可用。 right
deltaX number 在 X 方向的提示偏移。该属性自版本 1.3.3 起可用。 0
novalidate boolean 当设置为 true 时,则禁用验证。该属性自版本 1.3.4 起可用。 false

方法

名称 参数 描述
destroy none 移除并销毁该组件。
validate none 进行验证以判定文本框的内容是否有效。
isValid none 调用 validate 方法并且返回验证结果,true 或者 false。
enableValidation none 启用验证。该方法自版本 1.3.4 起可用。
disableValidation none 禁用验证。该方法自版本 1.3.4 起可用。












jquery easy ui 验证框架的更多相关文章

  1. jQuery Easy UI 开发笔记

    1.jQuery Easy UI主要的运行原理是通过核心的代码调用插件来实现UI效果的 2.jQuery Easy UI插件与插件之间的关系是: 一.独立式插件: 独立式插件是指:不与其他的插件具有相 ...

  2. JQuery Easy Ui (Tree树)详解(转)

    第一讲:JQuery Easy Ui到底是什么呢? 首先咱们知道JQuery是对Java Script的封装,是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等.. JQuery ui是在j ...

  3. 【JQuery Easy UI】后台管理系统的简单布局分享

    重要说明:本博已迁移到 石佳劼的博客.有疑问请到 文章新地址 留言..! 近期做的一个简单的后台管理系统,当中用到了JQuery Easy UI框架,对于撸主这样的把控件能摆整齐就谢天谢地的码农来说, ...

  4. jQuery Easy UI Panel(面板)组件

    panel(面板)组件,跟前面的组件使用方法差点儿都差点儿相同,也是从设置一些面板属性.操作面板触发的事件.我们可针对面板对象的操作方法这三个点去学习. 后面有一些组件要依赖于这个组件. 另一点跟前面 ...

  5. Jquery easy UI 上中下三栏布局 分类: ASP.NET 2015-02-06 09:19 368人阅读 评论(0) 收藏

    效果图: 源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  6. JQuery Easy Ui dataGrid 数据表格 ---制作查询下拉菜单

    JQuery Easy Ui dataGrid 数据表格 数据表格 - DataGrid 继承$.fn.panel.defaults,使用$.fn.datagrid.defaults重载默认值.. 数 ...

  7. jQuery Easy UI (适应屏幕分辨率大小)布局(Layout)

    一.jQuery Easy UI (适应屏幕分辨率大小)布局(Layout) 1.首先应用的是jquery-easyui-1.4 版本(版本不同,兼容性不同) 2.实现整个页面的布局( layout: ...

  8. jQuery Easy UI Resizable(调整大小)组件

    Resizable(调整大小)组件,easyui基础组件之中的一个.调整大小就是能够对元素能够拖着调整大小,这个组件不依赖于其它组件,使用比較简单,相关的属性.事件都 在样例中介绍了. 演示样例: & ...

  9. jQuery Easy UI Droppable(放置)组件

    Droppable(放置)组件也是一个基本组件,使用方法较简单,语法都在样例里面凝视了: 演示样例: <!DOCTYPE html> <html> <head> & ...

随机推荐

  1. Hadoop,MapReduce,HDFS面试题

    今天发这个的目的是为了给自己扫开迷茫,告诉自己该进阶了,下面内容不一定官方和正确.全然个人理解,欢迎大家留言讨论 1.什么是hadoop 答:是google的核心算法MapReduce的一个开源实现. ...

  2. Linux内核通知链模块

    通知链描写叙述 大多数内核子系统都是相互独立的,因此某个子系统可能对其他子系统产生的事件感兴趣. 为了满足这个需求,也即是让某个子系统在发生某个事件时通知其他的子系统.Linux内核提供了通知链的机制 ...

  3. 用thinkphp连接mysql数据库

    一.设置mysql数据库的参数 thinkphp\Application\Home\Conf\config.php <?php return array( //'配置项'=>'配置值' ' ...

  4. Git学习笔记五--分支管理

    为什么要引入分支? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部 ...

  5. Linux环境下c语言静态链接库和动态链接库创建和使用

    库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀. 面对比一下两者: 静态链接库:当要使用时,连接器会找出程序所需的函数,然后将它们拷贝到执行文件,由于这种拷贝是完整的,所以一旦连接成功, ...

  6. shareSDK(分享第三方库)的 使用

    首先,下载第三方库,可以去官网下载,官网的地址我忘记了,但下面有一个我之前下的和我写的例子,其实官方的例子也写我们只是告诉大家用时需要把哪些代码复制出来就可以用了. 1.导入如下框架和第三方库 新浪微 ...

  7. POI生成EXCEL文件(字体、样式、单元格合并、计算公式)

    创建一个封装类: package com.jason.excel; import java.io.FileNotFoundException; import java.io.FileOutputStr ...

  8. 算法笔记_145:拓扑排序的应用(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 给出一些球,从1~N编号,他们的重量都不相同,也用1~N标记加以区分(这里真心恶毒啊,估计很多WA都是因为这里),然后给出一些约束条件,< a ...

  9. c++中的继承和组合

    C++的“继承”特性可以提高程序的可复用性.正因为“继承”太有用.太容易用,才要防止乱用“继承”.我们要给“继承”立一些使用规则: 一.如果类A 和类B 毫不相关,不可以为了使B 的功能更多些而让B  ...

  10. taro CSS Modules 的使用

    Taro 中内置了 CSS Modules 的支持,但默认是关闭的,如果需要开启使用,请先在编译配置中添加如下配置. 小程序端开启 weapp: { module: { postcss: { // c ...