Â
jQueryæ¯ä¸ä¸ªå¿«éãç®æ´çjsåºï¼ä¸ºç½ç«çå¿«éå¼åç®åäºHTMLææ¡£éåï¼äºä»¶å¤çï¼å¨ç»ï¼ä»¥åAjax交äºã使ç¨jQuery尿大çæé«ç¼åjavascript代ç çæç, 让ååºæ¥çä»£ç æ´å ä¼é , æ´å å¥å£®ã
jquery.validate.jsæ¯jqueryæä¸çä¸ä¸ªéªè¯æ¡æ¶ï¼åå©jqueryçä¼å¿ï¼æä»¬å¯ä»¥è¿ ééªè¯ä¸äºå¸¸è§çè¾å ¥,å¹¶ä¸å¯ä»¥èªå·±æ©å èªå·±çéªè¯æ¹æ³
1.jqueryå çå¼å ¥ï¼
   å¼å ¥jqueryå ï¼<script type="text/javascript" src="/common/js/jquery/jquery.js'"></script>
Â
2.æ·»å æ ¡éªè¯´æï¼
   主è¦ä½¿ç¨çæ¯javascriptç¼åçéªè¯åºââjQuery.Validateï¼è¿ä¸ªéªè¯åºæ¯å±äºjQueryçæä»¶ã
å¼å ¥:
 <script type="text/javascript" src="/common/js/jquery/jquery.validate.pack.js"></script>
jQuery.Validateæ¯çæ§formçï¼å¨ä»»ä½æäº¤è¡¨åçæä½åjQuery.Validateé½ä¼æ£æµè¡¨åéçè¾å ¥é¡¹æ¯å¦æ»¡è¶³è§åï¼æ»¡è¶³æå 许æäº¤ãæä»¥éè¦å¨jQuery(document).readyï¼ï¼æ¶ä¸ºformè¿è¡éªè¯æ³¨åï¼æ ¼å¼ï¼ $(â#formidâ).validate(jsonobj)ã
å ¶ä¸formidæ¯æä»¶ä¸form表åçidï¼jsonobjå å«ä¸¤ä¸ªå±æ§ï¼rulesåmessagesï¼rulesç¨æ¥æææ¯ä¸ªåæ®µä¸æ·»å çæ ¡éªè§åï¼messagesç¨æ¥è¯´æç¸åºçæ ¡éªåºéæ¶å¯¹åºçæç¤ºè¯ã
messages为éå¿ é¡»ï¼å¦æèªå·±ä¸å®ä¹è¯¥å±æ§ï¼ä¼éç¨é»è®¤çæç¤ºã
ä¾å¦/test/validate/formvalidate.jsp:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>è¡¨åæ ¡éª</title>
<script type="text/javascript" src="/common/jquery.js"></script>
<script type="text/javascript" src="/common/jquery.validate.pack.js"></script>
<script type="text/javascript" src="/common/jquery.form.js"></script>
</head>
<body>
   <form id="test">
       <input name="nameput" type="text" size="20"/>
       <input name="submit" type="submit" value="æäº¤"/>
   </form>
   <script type="text/javascript">
       $("#test").validate({
           rules:{
               "nameput":{
                   required:true,
                   minlength:3,
                   maxlength:10
               } Â
           },
           messages:{
               "nameput":{
                   required:"ä¸è½ä¸ºç©º",
                   minlength:jQuery.format("é¿åº¦ä¸å°äº{0}"),
                   maxlength:jQuery.format("é¿åº¦ä¸å¤§äº{0}")
               }
           }
       })
   </script>
</body>
</html>
注æï¼nameputæ¯inputæ ç¾çnameã
Requiredãminlengthãmaxlength齿¯jQueryæ ¡éªçå ç½®éªè¯æ¹å¼ãjQueryå ç½®éªè¯æ¹å¼åèjQuery.validate.jsçAPIã
Â
3.èªå®ä¹éªè¯æ¹å¼
ä¸é¢æ¯èªå®ä¹çéªè¯æ¹å¼ï¼
$.validator.addMethod("stringlength", function(value, element,params) { Â Â Â
//é»è®¤å¼ : {trim:true,minLength:-1,maxLength:-1
   params = $.extend([true,-1,-1],params); //对äºé»è®¤åæ°æ¯æ
   if(params[0]){ //è¿æ»¤é¦å°¾ç©ºæ ¼
       value=$.trim(value);
   }
   value = value.replace(/<(?:.)*?>/g,""); //éªè¯æ¶è¿æ»¤æ ç¾
   return this.optional(element) || ((params[1]<0 || value.length>=params[1])&&(params[2]<0 || value.length<=params[2]));
}, jQuery.format("é¿åº¦å¨{1}-{2}ä¹é´"));
ä¾å¦homeå·¥ç¨ä¸çç»å½æ ¡éªï¼
$('#loginform').validate({//ç»éæ ¡éª
   rules:{
       "userAccount.userName":{
           "requiredstring":["true"],
           " requiredstring ":true,
           "stringlength":["true","3","40"]
       },
       "userAccount.userPwd":{
           "requiredstring":["true"],
           "stringlength":["true","1","20"]
       }
   },
   messages:{
       "userAccount.userName":{
           "requiredstring":"ç¨æ·åå¿ å¡«",
           "stringlength":jQuery.format("ç¨æ·åé¿åº¦å¨{1}å{2}ä¹é´")
       },
       "userAccount.userPwd":{
           "requiredstring":"å¯ç ä¸å¯ä»¥ä¸ºç©º",
           "stringlength":jQuery.format("å¯ç é¿åº¦å¨{1}å{2}ä¹é´")
       }
   }
})
userAccount.userNameæ¯é¡µé¢å¯¹åºçinputçnameï¼requiredstringãrequiredstringãstringlengthæ¯èªå·±å®ä¹çæ ¡éªï¼å®ä¹å¨/image/hi/common/js/zxwvalidate.jséã
ï½1ï½ãï½2ï½çæ¯ruleséé¢å¯¹åºéªè¯æ¹å¼ç第å 个å ç´ ï¼ä»0å¼å§ã
ç®åçå®ä¾ï¼
$.validator.addMethod("twd", function(value, element,params) {   //é»è®¤å¼ : {trim:true,minLength:-1,maxLength:-1
         params = $.extend([true,-1,-1],params); //对äºé»è®¤åæ°æ¯æ
         if(params[0]){
             value=$.trim(value);
         }
     })
     $("#test").validate({
         rules:{
             "nameput":{
                 "twd":[true,3,10]
             } Â
         },
         messages:{
             "nameput":{
                 "twd":jQuery.format("é¿åº¦å¨{1}å{2}ä¹é´")
             }
         }
      })
Â
4.å ¶ä»æ³¨æäºé¡¹
  ï¼1ï¼æ ¡éªé»è®¤æ¯å¨ç¹å»æäº¤submitçæ¶åèµ·ä½ç¨.
   ï¼2ï¼å¦æç¼ºå°$().ready(function() { })ï¼æ ¡éªå å®¹å¿ é¡»åå¨è¡¨åçåé¢ã
   ï¼3ï¼debugæ¹æ³éè¦åç¬åæè rulesåmessagesçåé¢ï¼å¦åä¸ä¼èµ·ä½ç¨ã
  Â
éï¼
jQuery.Validate为æä»¬æä¾äº3ç§éªè¯ç¼åæ¹å¼ï¼åæä¼ç¼ºç¹ï¼
ï¼1ï¼å¨input对象ä¸ä¹¦åclassæ ·å¼æå®éªè¯è§åæå±æ§éªè¯è§åï¼
å¦<input type=âtextâ class=ârequiredâ/>
æç®åãæä¾¿æ·ï¼æç¤ºæ¶æ¯ä½¿ç¨jQuery.Validateçå ç½®çæ¶æ¯ï¼èªå®ä¹æ©å±éªè¯è§åä¹å±äºæ¤é¡¹ï¼ï¼ä½æ¯ç±äºæ¯ä»¥æ ·å¼åçæ¹å¼è¿è¡éªè¯ï¼å¯¼è´äºæ¥åä¿®æ¹å¿ é¡»æ¾å°ç¸åºçinput对象ï¼åæ¶æ æ³ä½¿ç¨é«çº§éªè¯è§åã
ï¼2ï¼å¨input对象ä¸ä¹¦åclassæ ·å¼ï¼åªä¸è¿ä¹¦åçæ¹å¼æ¹ä¸ºäºJSONæ ¼å¼ï¼ä½æ¯è¿ç§æ¹å¼æä¾äºèªå®ä¹éªè¯æ¶æ¯çæ¯æï¼
å¦<input type=âtextâ class="{required:true,minlength:5,,messages:{required:'请è¾å ¥å 容'}â/>
ç®åãæ¹ä¾¿ï¼ä½ä¸ªäººè®¤ä¸ºæç¹èè¿ï¼è¿æ¯å第1æ¡ä¸æ ·åç¸å¯¹åºçinputå¯¹è±¡çº ç¼ å¨ä¸èµ·ï¼å¹¶ä¸è¿å¢å æ¶æ¯èªå®ä¹ï¼ä½¿å¾input对象åçæ´å¤§äºï¼å¹²æ°äºé¡µé¢ä»£ç çé 读ï¼ä½å¯ä»¥ä½¿ç¨é«çº§éªè¯è§åï¼å®é å°±æ¯å°ç¬¬3ç§JS以JSONçæ ¼å¼æ¾å°å ·ä½çclassä¸ã
ï¼3ï¼ä½¿ç¨çº¯JSçæ¹å¼ï¼
å¦ï¼
$().ready(function() {
   $("#aspnetform").validate({
        rules: {
        name: "required",
        email: {
                required: true,
                email: true
        }
    })
})
å¾å¥½çè§£å³äºHTMLåéªè¯è§åçå离ï¼å°±æ¯ä¹¦åè¾ä¸ºéº»ç¦ï¼éè¦åç¬åJSèæ¬ï¼ä½å¥½å¤æ¯å¯ä»¥ç»ä¸éªè¯è§èï¼å°æ¯ä¸ªé¡µé¢çéªè¯è§åé½åå¨å¤´é¨çèæ¬ä¸ï¼æ¹ä¾¿æ¥åç»´æ¤ã
ââæèªhttp://www.cnblogs.com/kyo-yo/archive/2010/06/29/Use-jQueryValidate-To-Being-Client-Validation.html
Â
é»è®¤çæç¤º
messages: {
required: "This field is required.",
remote: "Please fix this field.",
email: "Please enter a valid email address.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
dateDE: "Bitte geben Sie ein gçltiges Datum ein.",
number: "Please enter a valid number.",
numberDE: "Bitte geben Sie eine Nummer ein.",
digits: "Please enter only digits",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
maxlength: $.validator.format("Please enter no more than {0} characters."),
minlength: $.validator.format("Please enter at least {0} characters."),
rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."),
range: $.validator.format("Please enter a value between {0} and {1}."),
max: $.validator.format("Please enter a value less than or equal to {0}."),
min: $.validator.format("Please enter a value greater than or equal to {0}.")
}