参考资料

http://blog.csdn.net/jumtre/article/details/38510975

http://blog.csdn.net/lybwwp/article/details/9028741/

方法一:

自从1.3.2版本开始,validatebox自身已经支持多重校验了,例如:

  1. <input class="easyui-validatebox" data-options="required:true,validType:['email','length[0,20]']">

 方法二:(不太好用,试了半天还是不显示第二个验证的消息)

对于1.5版本的easyui.min,注释掉以下代码:

 
然后再添加
  1. $.extend($.fn.validatebox.defaults.rules, {
  2. multiple : {
  3. validator : function(value, vtypes) {
  4. var returnFlag = true;
  5. var opts = $.fn.validatebox.defaults;
  6. for (var i = ; i < vtypes.length; i++) {
  7. var methodinfo = /([a-zA-Z_]+)(.*)/.exec(vtypes[i]);
  8. var rule = opts.rules[methodinfo[]];
  9. if (value && rule) {
  10. var parame = eval(methodinfo[]);
  11. if (!rule["validator"](value, parame)) {
  12. returnFlag = false;
  13. this.message = rule.message;
  14. break;
  15. }
  16. }
  17. }
  18. return returnFlag;
  19. }
  20. },
  21. length : {
  22. validator : function(value, param) {
  23. this.message = 'Please enter a value between {0} and {1}.';
  24. var len = $.trim(value).length;
  25. if (param) {
  26. for (var i = ; i < param.length; i++) {
  27. this.message = this.message.replace(new RegExp(
  28. "\\{" + i + "\\}", "g"), param[i]);
  29. }
  30. }
  31. return len >= param[] && len <= param[];
  32. },
  33. message : 'Please enter a value between {0} and {1}.'
  34. }
  35. });

调用方法

  1. <input class="easyui-validatebox" data-options="required:true,validType:'multiple[\'email\',\'length[0,20]\']'">

方法三:(可以实现两种验证的消息)

  1. $.extend($.fn.validatebox.defaults.rules, {
  2. minLength : {
  3. validator : function (value, param) {
  4. var rules = $.fn.validatebox.defaults.rules;
  5. rules.minLength.message = 'Please enter at least {0} characters.';
  6. if(!rules.email.validator(value)){
  7. rules.minLength.message = rules.email.message;
  8. return false;
  9. }
  10. if(!rules.length.validator(value,param)){
  11. rules.minLength.message = rules.length.message;
  12. return false;
  13. }
  14. return value.length >= param[];
  15. },
  16. message : ''
  17. }
  18. });

根据方法三的试验:

  1. $.extend($.fn.validatebox.defaults.rules, {
  2.  
  3. //再次输入密码效验(与上一次一样;密码介于6-16位)
  4. checkpwd: {
  5. validator: function (value, param) {
  6. var rules = $.fn.validatebox.defaults.rules;
  7. rules.checkpwd.message = 'Please enter at least {0} characters.';
  8.  
  9. if (!rules.passequals.validator(value,param)) {
  10. rules.checkpwd.message = rules.passequals.message;
  11. return false;
  12. }
  13. if (!rules.minlength.validator(value)) {
  14. rules.checkpwd.message = rules.minlength.message;
  15. return false;
  16. }
  17. return value.length >= param[];
  18. },
  19. message: ''
  20. },
  21. passequals: {
  22. validator: function (value, param) {
  23. return value == $(param[]).val();
  24. },
  25. message: '两次密码不一致.'
  26. },
  27.  
  28. minlength: {
  29. validator: function (value) {
  30. var len = $.trim(value).length;
  31. return len >= && len <= ;
  32. },
  33. message: "输入内容长度必须介于6和16之间."
  34. }
  35. });

调用:(注意pwd两边不能写引号)

  1. <input id="pwd" name="pwd" type="password" class="easyui-validatebox" />
  2. <input id="rpwd" name="rpwd" type="password" class="easyui-validatebox" data-options="validType:'checkpwd[pwd]'" />

附录: 可以参考的验证规则:

  1. idcard: {// 验证身份证
  2. validator: function (value) {
  3. return /^\d{}(\d{}[A-Za-z0-])?$/i.test(value);
  4. },
  5. message: '身份证号码格式不正确'
  6. },
  7. minLength: {
  8. validator: function (value, param) {
  9. return value.length >= param[];
  10. },
  11. message: '请输入至少(2)个字符.'
  12. },
  13. length: { validator: function (value, param) {
  14. var len = $.trim(value).length;
  15. return len >= param[] && len <= param[];
  16. },
  17. message: "输入内容长度必须介于{0}和{1}之间."
  18. },
  19. phone: {// 验证电话号码
  20. validator: function (value) {
  21. return /^((\d{,})|(\d{}\-))?(\d{,}|\d{,}-)?[-]\d{,}(\-\d{,})?$/i.test(value);
  22. },
  23. message: '格式不正确,请使用下面格式:020-88888888'
  24. },
  25. mobile: {// 验证手机号码
  26. validator: function (value) {
  27. return /^(||)\d{}$/i.test(value);
  28. },
  29. message: '手机号码格式不正确'
  30. },
  31. intOrFloat: {// 验证整数或小数
  32. validator: function (value) {
  33. return /^\d+(\.\d+)?$/i.test(value);
  34. },
  35. message: '请输入数字,并确保格式正确'
  36. },
  37. currency: {// 验证货币
  38. validator: function (value) {
  39. return /^\d+(\.\d+)?$/i.test(value);
  40. },
  41. message: '货币格式不正确'
  42. },
  43. qq: {// 验证QQ,从10000开始
  44. validator: function (value) {
  45. return /^[-]\d{,}$/i.test(value);
  46. },
  47. message: 'QQ号码格式不正确'
  48. },
  49. integer: {// 验证整数 可正负数
  50. validator: function (value) {
  51. //return /^[+]?[1-9]+\d*$/i.test(value);
  52.  
  53. return /^([+]?[-])|([-]?[-])+\d*$/i.test(value);
  54. },
  55. message: '请输入整数'
  56. },
  57. age: {// 验证年龄
  58. validator: function (value) {
  59. return /^(?:[-][-]?|[][-]|)$/i.test(value);
  60. },
  61. message: '年龄必须是0到120之间的整数'
  62. },
  63.  
  64. chinese: {// 验证中文
  65. validator: function (value) {
  66. return /^[\Α-\¥]+$/i.test(value);
  67. },
  68. message: '请输入中文'
  69. },
  70. english: {// 验证英语
  71. validator: function (value) {
  72. return /^[A-Za-z]+$/i.test(value);
  73. },
  74. message: '请输入英文'
  75. },
  76. unnormal: {// 验证是否包含空格和非法字符
  77. validator: function (value) {
  78. return /.+/i.test(value);
  79. },
  80. message: '输入值不能为空和包含其他非法字符'
  81. },
  82. username: {// 验证用户名
  83. validator: function (value) {
  84. return /^[a-zA-Z][a-zA-Z0-9_]{,}$/i.test(value);
  85. },
  86. message: '用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)'
  87. },
  88. faxno: {// 验证传真
  89. validator: function (value) {
  90. // return /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/i.test(value);
  91. return /^((\d{,})|(\d{}\-))?(\d{,}|\d{,}-)?[-]\d{,}(\-\d{,})?$/i.test(value);
  92. },
  93. message: '传真号码不正确'
  94. },
  95. zip: {// 验证邮政编码
  96. validator: function (value) {
  97. return /^[-]\d{}$/i.test(value);
  98. },
  99. message: '邮政编码格式不正确'
  100. },
  101. ip: {// 验证IP地址
  102. validator: function (value) {
  103. return /d+.d+.d+.d+/i.test(value);
  104. },
  105. message: 'IP地址格式不正确'
  106. },
  107. name: {// 验证姓名,可以是中文或英文
  108. validator: function (value) {
  109. return /^[\Α-\¥]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
  110. },
  111. message: '请输入姓名'
  112. },
  113. date: {// 验证姓名,可以是中文或英文
  114. validator: function (value) {
  115. //格式yyyy-MM-dd或yyyy-M-d
  116. return /^(?:(?!)[-]{}([-]?)(?:(?:?[-]|[-])\(?:?[-]|[-]|[-])|(?:?[-]|[-])\(?:|)|(?:?[]|[])\(?:))|(?:[-]{}(?:[]|[][]|[][])|(?:[]|[][]|[][]))([-]?)?\(?:))$/i.test(value);
  117. },
  118. message: '清输入合适的日期格式'
  119. },
  120. msn: {
  121. validator: function (value) {
  122. return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
  123. },
  124. message: '请输入有效的msn账号(例:abc@hotnail(msn/live).com)'
  125. },
  126. same: {
  127. validator: function (value, param) {
  128. if ($("#" + param[]).val() != "" && value != "") {
  129. return $("#" + param[]).val() == value;
  130. } else {
  131. return true;
  132. }
  133. },
  134. message: '两次输入的密码不一致!'
  135. }

easyui关于validatebox实现多重规则验证的实践的更多相关文章

  1. validatebox实现多重规则验证

    作为Easyui的校验插件没有实现多重校验能力是一种缺憾.比如说,既要限制格式为email,同时要求最长长度为20,我们就要扩展一种规则,而对长度的要求很容易变化,如果变成要求30,我们又得扩张一种规 ...

  2. easyui的validatebox重写自定义验证规则的几个实例

    validatebox已经实现的几个规则: 验证规则是根据使用需求和验证类型属性来定义的,这些规则已经实现(easyui API): email:匹配E-Mail的正则表达式规则. url:匹配URL ...

  3. 第二百一十一节,jQuery EasyUI,ValidateBox(验证框)组件

    jQuery EasyUI,ValidateBox(验证框)组件 学习要点: 1.加载方式 2.属性列表 3.方法列表 4.自定义验证 本节课重点了解 EasyUI 中 ValidateBox(验证框 ...

  4. Jquery easyui的validatebox控件和正则表达式

    http://blog.csdn.net/dandanzmc/article/details/36421465 仔细观察jquery.validatebox.js文件,会发现它的验证其实还是采用的正则 ...

  5. JQuery EasyUI 动态改变表单项的验证守则

    //JQuery EasyUI 动态改变表单项的验证规则 $(document).ready(function(){ $('#FILE_QUALITY').combobox({ onChange:fu ...

  6. 仿照easy-ui并改进的表单验证

    概述 easy-ui有自身的一套表单验证,扩展方便,但默认下也存在一些弱点,比如多规则验证.后台验证.远程异步验证等,这些功能要解决起来是比较吃力的.我仿照它的样式,写了一套前端表单验证的validB ...

  7. ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证

    ASP.NET Identity除了提供基于Cookie的身份验证外,还提供了一些高级功能,如多次输入错误账户信息后会锁定用户禁止登录.集成第三方验证.账户的二次验证等,并且ASP.NET MVC的默 ...

  8. 证明你是你——快速开启Windows Azure多重身份验证

    中国版Windows Azure的多重身份验证(Multi-Factor Authentication)功能已经开放.这个功能说白了就是要“证明你是你”.目前可以支持以下几种验证方式: 手机,短信验证 ...

  9. 宣布正式发布 Windows Azure 多重身份验证

    身份和访问管理是安全之锚,是企业 IT 部门的首要任务.它是随时随地向员工.合作伙伴和客户提供访问的关键所在.今天,我们非常高兴地宣布正式发布 Windows Azure 多重身份验证,从而为 IT ...

随机推荐

  1. cache-coherent nonuniform memory access

    COMPUTER OR GANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION

  2. python基础3

    一.文件操作:打开文件:f = open("db", "r") #只读f = open("db", "w") #只写,注 ...

  3. Java 三章错题

    1.每个类都使用Object作为超类.所以对象(包括数组)都实现这个类的方法. 2.在不明确给出超类的情况下,java会自动把object作为要定义的超类. 可以使用类型为Object的变量指向任意类 ...

  4. 分析器错误消息: 未能加载类型“Automation.Web.MvcApplication”。

    常见原因1 : 可能是自己手动修改了项目 ==>属性==>生成的输出路径 ,导致版本不兼容 常见员因2  :  Global的 命名空间 与 项目的命名空间 不一致 常见原因3  : 查看 ...

  5. 【转载】Mysql 查看连接数,状态

    转载地址:http://blog.csdn.net/starnight_cbj/article/details/4492555 命令: show processlist; 如果是root帐号,你能看到 ...

  6. ubuntu14.04下安装python3.4.2

    1. python安装包的下载地址:https://www.python.org/downloads/ 我的python安装包下载地址:https://www.python.org/ftp/pytho ...

  7. IntelliMVCCode智能MVC架构的代码助手使用方法

    智能代码生成工具,快速帮助开发者提升开发速度,通过工具自动生成MVC架构的大量源代码,节省更多的开发时间. 工具使用的框架:.net4.0,通过工具连接到数据库自动提取数据表或视图中的结构,生成对应的 ...

  8. deep learning...深入学习深度学习 --工具篇

    Caffe( http://caffe.berkeleyvision.org/ )是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清( http://daggerfs.c ...

  9. springmvc中的controller是单例的

    今天发现spring3中的controller默认是单例的,若是某个controller中有一个私有的变量a,所有请求到同一个controller时,使用的a变量是共用的,即若是某个请求中修改了这个变 ...

  10. git 学习笔记

    1.创建git仓库 git init 2.添加文件 git add readme.txt 3.修改文件 git add readme.txt 4.提交修改 git commit -m "提交 ...