博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery validate自定义
阅读量:4129 次
发布时间:2019-05-25

本文共 2856 字,大约阅读时间需要 9 分钟。

    jQuery Validate的表单验证功能倒是强大,但是和我现在做的还是有些区别。

    除了要把验证元素放置到form标签里外,我自己有提交的按钮,这样就不能使用submit了。这时,我们使用Validate提供的valid方法,返回值是true和false,表单没有通过验证,也是提交不了的。

 

  1.             <form id="fProfile"  method="post" action="">
  2.                 <div class="content">
  3.                     <table>
  4.                         <tr>
  5.                             <td class="field-name field-required">用户名</td>
  6.                             <td>
  7.                                 <input type="text" id="txtLoginName" name="txtLoginName" class="disabled" />
  8.                             </td>
  9.                         </tr>
  10.                         <tr>
  11.                             <td class="field-name field-required">昵称</td>
  12.                             <td>
  13.                                 <input type="text" id="txtNickName" name="txtNickName" class="required userName"/>
  14.                             </td>
  15.                         </tr>
  16.                         <tr>
  17.                             <td class="field-name field-required">电子邮件</td>
  18.                             <td>
  19.                                 <input type="text" id="txtEmail" name="txtEmail" class="required email"/>   
  20.                             </td>
  21.                         </tr>
  22.                         <tr>
  23.                             <td class="field-name">生日</td>
  24.                             <td>
  25.                                 <input type="text" id="txtBirthDate" name="txtBirthDate"/>   
  26.                             </td>
  27.                         </tr>
  28.                         <tr>
  29.                             <td class="field-name">联系电话</td>
  30.                             <td>
  31.                                 <input type="text" id="txtContactPhone" name="txtContactPhone" class="isPhone"/>   
  32.                             </td>
  33.                         </tr>
  34.                         <tr>
  35.                             <td class="field-name">工作电话</td>
  36.                             <td>
  37.                                 <input type="text" id="txtWorkPhone" name="txtWorkPhone" class="isPhone"/>   
  38.                             </td>
  39.                         </tr>
  40.                         <tr>
  41.                             <td class="field-name">手机号码</td>
  42.                             <td>
  43.                                 <input type="text" id="txtMobileNo" name="txtMobileNo" class="isMobile"/>   
  44.                             </td>
  45.                         </tr>
  46.                     </table>
  47.                 </div>
  48.                 <div class="button-pane">
  49.                     <button id="btnUpdateProfile">保存</button>
  50.                     <button>取消</button>
  51.                 </div>
  52.             </form>

验证脚本:

  1. // 验证个人资料修改表单
  2.     $("#fProfile").validate({
  3.         rules: {
  4.             txtNickName: {
  5.                 maxlength: 64
  6.             }
  7.             , txtContactPhone: {
  8.                 maxlength: 32
  9.             }
  10.             , txtWorkPhone: {
  11.                 maxlength: 32
  12.             }
  13.             , txtMobileNo: {
  14.                 maxlength: 32
  15.             }
  16.         }
  17.         , messages: {
  18.             txtNickName: {
  19.                 maxlength: lmslang.v_NickName_maxlen
  20.             }
  21.             , txtContactPhone: {
  22.                 maxlength: lmslang.v_ContactPhone_maxlen
  23.             }
  24.             , txtWorkPhone: {
  25.                 maxlength: lmslang.v_WorkPhone_maxlen
  26.             }
  27.             , txtMobileNo: {
  28.                 maxlength: lmslang.v_Mobile_maxlen
  29.             }
  30.         }
  31.     });
  32.     $("#btnUpdateProfile").click(function() {
  33.         var b = $("#fProfile").valid();
  34.         if (b) {
  35.             editProfile();
  36.         } else {
  37.             showError(lmslang.formValidate_Error);
  38.         }
  39.     });

ok!这样判断就不会和以前button的事件冲突了。

 

第二个问题:

Validate的中国化支持:

我们可以使用Validate的API自己进行扩展:

 

// 字符验证

jQuery.validator.addMethod("userName", function(value, element) {
    return this.optional(element) || /^[/u0391-/uFFE5/w]+$/.test(value);
}, "用户名只能包括中文字、英文字母、数字和下划线");
// 手机号码验证
jQuery.validator.addMethod("isMobile", function(value, element) {
    var length = value.length;
    return this.optional(element) || (length == 11 && /^(((13[0-9]{1})|(15[0-9]{1}))+/d{8})$/.test(value));
}, "请正确填写您的手机号码");

// 电话号码验证

jQuery.validator.addMethod("isPhone", function(value, element) {
    var tel = /^(/d{3,4}-?)?/d{7,9}$/g;
    return this.optional(element) || (tel.test(value));
}, "请正确填写您的电话号码");

// 邮政编码验证

jQuery.validator.addMethod("isZipCode", function(value, element) {
    var tel = /^[0-9]{6}$/;
    return this.optional(element) || (tel.test(value));
}, "请正确填写您的邮政编码");

 

参考:

http://docs.jquery.com/Plugins/Validation/valid

 

插件文档地址: http://www.webreference.com/programming/javascript/jquery/form_validation/index.html

 

转载地址:http://gqzvi.baihongyu.com/

你可能感兴趣的文章
2020金九银十Mybatis十道常见的面试题!!(赶紧来收藏了)
查看>>
使用Mybatis与直觉用jdbc相比,哪个更有优势?
查看>>
Spring MVC用的最多的注解,你会几个?
查看>>
从零基础手写Spring MVC框架,准备好进阶程序员了吗?
查看>>
【查漏补缺】2020珍藏的Java面试题,为你秋季保驾护航!!!
查看>>
2020【最新汇总】Java面试题
查看>>
想读【源码】的福利来了!【深入源码】的Java面试题来看看??
查看>>
【核心技术分析】深入剖析Java中JVM的内存模型!!!
查看>>
Java面试题【集锦】,做过路过不要错过!!!
查看>>
【刚拿了饿了么P7 offer】没想到面试官这么问我!!!
查看>>
为了进腾讯,我又把CAS实现重新精读了一遍!
查看>>
一文带你读懂深入理解Java内存模型
查看>>
最详解的Redis核心数据结构
查看>>
资深架构师手把手带你学Spring MVC
查看>>
什么是Spring MVC?它解决了什么问题?
查看>>
JAVA并发编程的艺术--并发编程的挑战
查看>>
阿里P7架构师带你修炼MyBatis
查看>>
【百度面试官】Tomcat的源码剖析, 启动过程你会吗?
查看>>
阿里巴巴内部高并发Nginx性能调优实战解密
查看>>
面试官:不会SQL优化?还敢要30K?
查看>>