<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    StevenBot-Saltsam

    眼睛能裝下世界,為何卻裝不下眼淚? 一只風箏一輩子只為一根線冒險。 那不是一場游戲,為何總有一根線牽著心懷,隱隱作疼? 那不是一段邂逅,為何飄在橋上的影子,總纏進夢鄉(xiāng)? 那不是一個夢境,為何你的溫柔私語,總是不經(jīng)意的響起?

    導航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    datas link

    OSChinal Sources codes Library

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    jquery validate 驗證器

    jquery validate 驗證器  

    默認校驗規(guī)則

    (1)required:true                    必輸字段
    (2)remote:"check.php"          使用ajax方法調(diào)用check.php驗證輸入值
    (3)email:true                  必須輸入正確格式的電子郵件
    (4)url:true                    必須輸入正確格式的網(wǎng)址
    (5)date:true                必須輸入正確格式的日期
    (6)dateISO:true          必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22 只驗證格式,不驗證有效性
    (7)number:true           必須輸入合法的數(shù)字(負數(shù),小數(shù))
    (8)digits:true              必須輸入整數(shù)
    (9)creditcard:                 必須輸入合法的信用卡號
    (10)equalTo:"#field"           輸入值必須和#field相同
    (11)accept:                    輸入擁有合法后綴名的字符串(上傳文件的后綴)
    (12)maxlength:5                輸入長度最多是5的字符串(漢字算一個字符)
    (13)minlength:10               輸入長度最小是10的字符串(漢字算一個字符)
    (14)rangelength:[5,10]         輸入長度必須介于 5 和 10 之間的字符串")(漢字算一個字符)
    (15)range:[5,10]               輸入值必須介于 5 和 10 之間
    (16)max:5                      輸入值不能大于5
    (17)min:10                     輸入值不能小于10

    默認的提示
    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}.")
    }


    如需要修改,可在js代碼中加入:
    jQuery.extend(jQuery.validator.messages, {
            required: "必選字段",
    remote: "請修正該字段",
    email: "請輸入正確格式的電子郵件",
    url: "請輸入合法的網(wǎng)址",
    date: "請輸入合法的日期",
    dateISO: "請輸入合法的日期 (ISO).",
    number: "請輸入合法的數(shù)字",
    digits: "只能輸入整數(shù)",
    creditcard: "請輸入合法的信用卡號",
    equalTo: "請再次輸入相同的值",
    accept: "請輸入擁有合法后綴名的字符串",
    maxlength: jQuery.validator.format("請輸入一個長度最多是 {0} 的字符串"),
    minlength: jQuery.validator.format("請輸入一個長度最少是 {0} 的字符串"),
    rangelength: jQuery.validator.format("請輸入一個長度介于 {0} 和 {1} 之間的字符串"),
    range: jQuery.validator.format("請輸入一個介于 {0} 和 {1} 之間的值"),
    max: jQuery.validator.format("請輸入一個最大為 {0} 的值"),
    min: jQuery.validator.format("請輸入一個最小為 {0} 的值")
    });
    推薦做法,將此文件放入messages_cn.js中,在頁面中引入
    <script src="../js/messages_cn.js" type="text/javascript"></script>

    四、使用方式
    1.將校驗規(guī)則寫到控件中
    <script src="../js/jquery.js" type="text/javascript"></script>
    <script src="../js/jquery.validate.js" type="text/javascript"></script>
    <script src="./js/jquery.metadata.js" type="text/javascript"></script>
    $().ready(function() {
    $("#signupForm").validate();
    });

    <form id="signupForm" method="get" action="">
        <p>
            <label for="firstname">Firstname</label>
            <input id="firstname" name="firstname" class="required" />
        </p>
    <p>
    <label for="email">E-Mail</label>
    <input id="email" name="email" class="required email" />
    </p>
    <p>
    <label for="password">Password</label>
    <input id="password" name="password" type="password" class="{required:true,minlength:5}" />
    </p>
    <p>
    <label for="confirm_password">確認密碼</label>
    <input id="confirm_password" name="confirm_password" type="password" class="{required:true,minlength:5,equalTo:'#password'}" />
    </p>
        <p>
            <input class="submit" type="submit" value="Submit"/>
        </p>
    </form>
    使用class="{}"的方式,必須引入包:jquery.metadata.js
    可以使用如下的方法,修改提示內(nèi)容:
    class="{required:true,minlength:5,messages:{required:'請輸入內(nèi)容'}}"
    在使用equalTo關鍵字時,后面的內(nèi)容必須加上引號,如下代碼:
    class="{required:true,minlength:5,equalTo:'#password'}"
    另外一個方式,使用關鍵字:meta(為了元數(shù)據(jù)使用其他插件你要包裝 你的驗證規(guī)則 在他們自己的項目中可以用這個特殊的選項)
    Tell the validation plugin to look inside a validate-property in metadata for validation rules.
    例如:
    meta: "validate"
    <input id="password" name="password" type="password" class="{validate:{required:true,minlength:5}}" />

    再有一種方式:
    $.metadata.setType("attr", "validate");
    這樣可以使用validate="{required:true}"的方式,或者class="required",但class="{required:true,minlength:5}"將不起作用

    2.將校驗規(guī)則寫到代碼中

    $().ready(function() {
    $("#signupForm").validate({
            rules: {
       firstname: "required",
       email: {
        required: true,
        email: true
       },
       password: {
        required: true,
        minlength: 5
       },
       confirm_password: {
        required: true,
        minlength: 5,
        equalTo: "#password"
       }
    },
            messages: {
       firstname: "請輸入姓名",
       email: {
        required: "請輸入Email地址",
        email: "請輸入正確的email地址"
       },
       password: {
        required: "請輸入密碼",
        minlength: jQuery.format("密碼不能小于{0}個字符")
       },
       confirm_password: {
        required: "請輸入確認密碼",
        minlength: "確認密碼不能小于5個字符",
        equalTo: "兩次輸入密碼不一致不一致"
       }
    }
        });
    });
    //messages處,如果某個控件沒有message,將調(diào)用默認的信息

    <form id="signupForm" method="get" action="">
        <p>
            <label for="firstname">Firstname</label>
            <input id="firstname" name="firstname" />
        </p>
    <p>
    <label for="email">E-Mail</label>
    <input id="email" name="email" />
    </p>
    <p>
    <label for="password">Password</label>
    <input id="password" name="password" type="password" />
    </p>
    <p>
    <label for="confirm_password">確認密碼</label>
    <input id="confirm_password" name="confirm_password" type="password" />
    </p>
        <p>
            <input class="submit" type="submit" value="Submit"/>
        </p>
    </form>
    required:true 必須有值
    required:"#aa:checked"表達式的值為真,則需要驗證
    required:function(){}返回為真,表時需要驗證
    后邊兩種常用于,表單中需要同時填或不填的元素

    五、常用方法及注意問題
    1.用其他方式替代默認的SUBMIT
    $().ready(function() {
    $("#signupForm").validate({
            submitHandler:function(form){
                alert("submitted");    
                form.submit();
            }     
        });
    });
    可以設置validate的默認值,寫法如下:
    $.validator.setDefaults({
    submitHandler: function(form) { alert("submitted!");form.submit(); }
    });
    如果想提交表單, 需要使用form.submit()而不要使用$(form).submit()

    2.debug,如果這個參數(shù)為true,那么表單不會提交,只進行檢查,調(diào)試時十分方便
    $().ready(function() {
    $("#signupForm").validate({
            debug:true
        });
    });
    如果一個頁面中有多個表單,用
    $.validator.setDefaults({
       debug: true
    })

    3.ignore:忽略某些元素不驗證
    ignore: ".ignore"

    4.errorPlacement:Callback Default: 把錯誤信息放在驗證的元素后面 
    指明錯誤放置的位置,默認情況是:error.appendTo(element.parent());即把錯誤信息放在驗證的元素后面 
    errorPlacement: function(error, element) {   
        error.appendTo(element.parent());   
    }
    //示例:
    <tr>
        <td class="label"><label id="lfirstname" for="firstname">First Name</label></td>
        <td class="field"><input id="firstname" name="firstname" type="text" value="" maxlength="100" /></td>
        <td class="status"></td>
    </tr>
    <tr>
        <td style="padding-right: 5px;">
            <input id="dateformat_eu" name="dateformat" type="radio" value="0" />
            <label id="ldateformat_eu" for="dateformat_eu">14/02/07</label>
        </td>
        <td style="padding-left: 5px;">
            <input id="dateformat_am" name="dateformat" type="radio" value="1" />
            <label id="ldateformat_am" for="dateformat_am">02/14/07</label>
        </td>
        <td></td>
    </tr>
    <tr>
        <td class="label">&nbsp;</td>
        <td class="field" colspan="2">
            <div id="termswrap">
                <input id="terms" type="checkbox" name="terms" />
                <label id="lterms" for="terms">I have read and accept the Terms of Use.</label>
            </div>
        </td>
    </tr>
    errorPlacement: function(error, element) {
        if ( element.is(":radio") )
            error.appendTo( element.parent().next().next() );
        else if ( element.is(":checkbox") )
            error.appendTo ( element.next() );
        else
            error.appendTo( element.parent().next() );
    }
    代碼的作用是:一般情況下把錯誤信息顯示在<td class="status"></td>中,如果是radio顯示在<td></td>中,如果是checkbox顯示在內(nèi)容的后面
    errorClass:String Default: "error" 
    指定錯誤提示的css類名,可以自定義錯誤提示的樣式
    errorElement:String Default: "label" 
    用什么標簽標記錯誤,默認的是label你可以改成em
    errorContainer:Selector 
    顯示或者隱藏驗證信息,可以自動實現(xiàn)有錯誤信息出現(xiàn)時把容器屬性變?yōu)轱@示,無錯誤時隱藏,用處不大
    errorContainer: "#messageBox1, #messageBox2"
    errorLabelContainer:Selector 
    把錯誤信息統(tǒng)一放在一個容器里面。
    wrapper:String
    用什么標簽再把上邊的errorELement包起來
    一般這三個屬性同時使用,實現(xiàn)在一個容器內(nèi)顯示所有錯誤提示的功能,并且沒有信息時自動隱藏
    errorContainer: "div.error",
    errorLabelContainer: $("#signupForm div.error"),
    wrapper: "li"

    設置錯誤提示的樣式,可以增加圖標顯示
    input.error { border: 1px solid red; }
    label.error {
    background:url("./demo/images/unchecked.gif") no-repeat 0px 0px;
    padding-left: 16px;
    padding-bottom: 2px;
    font-weight: bold;
    color: #EA5200;
    }
    label.checked {
    background:url("./demo/images/checked.gif") no-repeat 0px 0px;
    }
    success:String,Callback 
    要驗證的元素通過驗證后的動作,如果跟一個字符串,會當做一個css類,也可跟一個函數(shù)
    success: function(label) {
        // set &nbsp; as text for IE
        label.html("&nbsp;").addClass("checked");
        //label.addClass("valid").text("Ok!")
    }
    添加"valid" 到驗證元素, 在CSS中定義的樣式<style>label.valid {}</style>
    success: "valid"


    nsubmit: Boolean Default: true 
    提交時驗證. 設置唯false就用其他方法去驗證
    onfocusout:Boolean Default: true 
    失去焦點是驗證(不包括checkboxes/radio buttons) 
    onkeyup:Boolean Default: true 
    在keyup時驗證.
    onclick:Boolean Default: true 
    在checkboxes 和 radio 點擊時驗證
    focusInvalid:Boolean Default: true 
    提交表單后,未通過驗證的表單(第一個或提交之前獲得焦點的未通過驗證的表單)會獲得焦點
    focusCleanup:Boolean Default: false 
    如果是true那么當未通過驗證的元素獲得焦點時,移除錯誤提示。避免和 focusInvalid 一起用

    // 重置表單
    $().ready(function() {
    var validator = $("#signupForm").validate({
            submitHandler:function(form){
                alert("submitted");    
                form.submit();
            }     
        });
        $("#reset").click(function() {
            validator.resetForm();
        });
    });

    remote:URL
    使用ajax方式進行驗證,默認會提交當前驗證的值到遠程地址,如果需要提交其他的值,可以使用data選項
    remote: "check-email.php"
    remote: {
        url: "check-email.php",     //后臺處理程序
        type: "post",               //數(shù)據(jù)發(fā)送方式
        dataType: "json",           //接受數(shù)據(jù)格式    
        data: {                     //要傳遞的數(shù)據(jù)
            username: function() {
                return $("#username").val();
            }
        }
    }

    遠程地址只能輸出 "true" 或 "false",不能有其它輸出


    addMethod:name, method, message
    自定義驗證方法

    // 中文字兩個字節(jié)
    jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
        var length = value.length;
        for(var i = 0; i < value.length; i++){
            if(value.charCodeAt(i) > 127){
                length++;
            }
        }
    return this.optional(element) || ( length >= param[0] && length <= param[1] );    
    }, $.validator.format("請確保輸入的值在{0}-{1}個字節(jié)之間(一個中文字算2個字節(jié))"));

    // 郵政編碼驗證    
    jQuery.validator.addMethod("isZipCode", function(value, element) {    
        var tel = /^[0-9]{6}$/;
        return this.optional(element) || (tel.test(value));
    }, "請正確填寫您的郵政編碼");

    radio和checkbox、select的驗證
    radio的required表示必須選中一個
    <input type="radio" id="gender_male" value="m" name="gender" class="{required:true}" />
    <input type="radio" id="gender_female" value="f" name="gender"/>
    checkbox的required表示必須選中
    <input type="checkbox" class="checkbox" id="agree" name="agree" class="{required:true}" />
    checkbox的minlength表示必須選中的最小個數(shù),maxlength表示最大的選中個數(shù),rangelength:[2,3]表示選中個數(shù)區(qū)間
    <input type="checkbox" class="checkbox" id="spam_email" value="email" name="spam[]" class="{required:true, minlength:2}" />
    <input type="checkbox" class="checkbox" id="spam_phone" value="phone" name="spam[]" />
    <input type="checkbox" class="checkbox" id="spam_mail" value="mail" name="spam[]" />

    select的required表示選中的value不能為空
    <select id="jungle" name="jungle" title="Please select something!" class="{required:true}">
        <option value=""></option>
        <option value="1">Buga</option>
        <option value="2">Baga</option>
        <option value="3">Oi</option>
    </select>
    select的minlength表示選中的最小個數(shù)(可多選的select),maxlength表示最大的選中個數(shù),rangelength:[2,3]表示選中個數(shù)區(qū)間
    <select id="fruit" name="fruit" title="Please select at least two fruits" class="{required:true, minlength:2}" multiple="multiple">
        <option value="b">Banana</option>
        <option value="a">Apple</option>
        <option value="p">Peach</option>
        <option value="t">Turtle</option>
    </select>




    posted on 2011-11-04 15:01 Steven_bot 閱讀(264) 評論(0)  編輯  收藏 所屬分類: 遇到的一些問題

    主站蜘蛛池模板: 亚洲暴爽av人人爽日日碰| 亚洲精品二三区伊人久久| 久久久久久亚洲av无码蜜芽| 24小时日本电影免费看| 亚洲国产精品一区| 在线观看免费av网站| 亚洲精品视频专区| 中文字幕无码免费久久99| 自拍日韩亚洲一区在线| 成年轻人网站色免费看| 国产AV无码专区亚洲AV麻豆丫| 国产一级淫片a视频免费观看| 特级无码毛片免费视频| 亚洲国模精品一区| 99视频在线观看免费| 91亚洲国产成人久久精品网站 | 九九综合VA免费看| 久久影视国产亚洲| 性无码免费一区二区三区在线 | 亚洲综合自拍成人| 青娱乐免费视频在线观看| 亚洲欧美国产欧美色欲| 又黄又爽一线毛片免费观看| 久久嫩草影院免费看夜色| 亚洲国产女人aaa毛片在线 | 亚洲国产成人精品无码区二本 | 久久亚洲一区二区| 100000免费啪啪18免进| 国产成人亚洲精品91专区高清 | 亚洲AV午夜福利精品一区二区 | 亚洲一级毛片免费观看| 亚洲日韩精品无码AV海量| 亚洲色婷婷综合开心网| 91精品国产免费久久国语麻豆| 亚洲色精品三区二区一区| 国产亚洲精品a在线观看| 久久综合给合久久国产免费| 亚洲乱亚洲乱妇24p| 亚洲成a人片在线观看无码| 一二三四在线播放免费观看中文版视频 | 亚洲欧洲日产国码高潮αv|