引入参考最下面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. iOS:删除storyBoard,纯代码实现UITabBarController的视图切换功能

    storyboard是一个很强大的编写代码的辅助工具,可以帮助布局多个视图之间的联系,既直观又能减少代码量:但是,作为一个程序员,在不使用storyboard的情况下,纯代码编写是必须的技能. 下面就 ...

  2. windows8中visual studio 2010 编译boost1.57库

    参考: http://blog.csdn.net/a06062125/article/details/7773976 http://www.cppfans.org/1317.html http://w ...

  3. 关于C#程序优化的五十种方法

    关于C#程序优化的五十种方法    这篇文章主要介绍了C#程序优化的五十个需要注意的地方,使用c#开发的朋友可以看下   一.用属性代替可访问的字段 1..NET数据绑定只支持数据绑定,使用属性可以获 ...

  4. js 多域名跳转

    <script>try {if( self.location == "http://cnblogs.com/endv" ) { top.location.href = ...

  5. js实现可拉伸移动的div

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd&qu ...

  6. 取石子(六)_nyoj_585(博弈-奇异矩阵).java

    取石子(六) 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 3   描述 最近 TopCoder 的 PIAOYI 和 HRDV 很无聊,于是就想了一个游戏,游戏是这样的: ...

  7. VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2

    原地址:http://zengwu3915.blog.163.com/blog/static/278348972013117114742496/ 所需软件1.VMware Workstation Bu ...

  8. 算法笔记_009:字符串匹配(Java)

    1 问题描述 给定一个n个字符组成的串(称为文本),一个m(m <= n)的串(称为模式),从文本中寻找匹配模式的子串. 2 解决方案 2.1 蛮力法 package com.liuzhen.c ...

  9. Ubuntu 设置UFW防火墙

    1:安装 sudo apt-get install ufw 2:启用 sudo ufw enable sudo ufw default deny 运行以上两条命令后,开启了防火墙,并在系统启动时自动开 ...

  10. 安卓平台ARM Mali OpenCL例子-灰度转换(转)

    手头一块RK3288的板子,在板子上测试了一张1080p的彩色图灰度转换的OpenCL例子.OpenCL没有任何优化.例子请移步这里. 该例子是编译成安卓平台下的可执行程序. 进入jni文件夹,进行如 ...