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

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

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

    StevenBot-Saltsam

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

    導航

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

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    datas link

    OSChinal Sources codes Library

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    jquery validate 驗證器

    jquery validate 驗證器  

    默認校驗規則

    (1)required:true                    必輸字段
    (2)remote:"check.php"          使用ajax方法調用check.php驗證輸入值
    (3)email:true                  必須輸入正確格式的電子郵件
    (4)url:true                    必須輸入正確格式的網址
    (5)date:true                必須輸入正確格式的日期
    (6)dateISO:true          必須輸入正確格式的日期(ISO),例如:2009-06-23,1998/01/22 只驗證格式,不驗證有效性
    (7)number:true           必須輸入合法的數字(負數,小數)
    (8)digits:true              必須輸入整數
    (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: "請輸入合法的網址",
    date: "請輸入合法的日期",
    dateISO: "請輸入合法的日期 (ISO).",
    number: "請輸入合法的數字",
    digits: "只能輸入整數",
    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.將校驗規則寫到控件中
    <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
    可以使用如下的方法,修改提示內容:
    class="{required:true,minlength:5,messages:{required:'請輸入內容'}}"
    在使用equalTo關鍵字時,后面的內容必須加上引號,如下代碼:
    class="{required:true,minlength:5,equalTo:'#password'}"
    另外一個方式,使用關鍵字:meta(為了元數據使用其他插件你要包裝 你的驗證規則 在他們自己的項目中可以用這個特殊的選項)
    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.將校驗規則寫到代碼中

    $().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,將調用默認的信息

    <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,如果這個參數為true,那么表單不會提交,只進行檢查,調試時十分方便
    $().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顯示在內容的后面
    errorClass:String Default: "error" 
    指定錯誤提示的css類名,可以自定義錯誤提示的樣式
    errorElement:String Default: "label" 
    用什么標簽標記錯誤,默認的是label你可以改成em
    errorContainer:Selector 
    顯示或者隱藏驗證信息,可以自動實現有錯誤信息出現時把容器屬性變為顯示,無錯誤時隱藏,用處不大
    errorContainer: "#messageBox1, #messageBox2"
    errorLabelContainer:Selector 
    把錯誤信息統一放在一個容器里面。
    wrapper:String
    用什么標簽再把上邊的errorELement包起來
    一般這三個屬性同時使用,實現在一個容器內顯示所有錯誤提示的功能,并且沒有信息時自動隱藏
    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類,也可跟一個函數
    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",               //數據發送方式
        dataType: "json",           //接受數據格式    
        data: {                     //要傳遞的數據
            username: function() {
                return $("#username").val();
            }
        }
    }

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


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

    // 中文字兩個字節
    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}個字節之間(一個中文字算2個字節)"));

    // 郵政編碼驗證    
    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表示必須選中的最小個數,maxlength表示最大的選中個數,rangelength:[2,3]表示選中個數區間
    <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表示選中的最小個數(可多選的select),maxlength表示最大的選中個數,rangelength:[2,3]表示選中個數區間
    <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)  編輯  收藏 所屬分類: 遇到的一些問題

    主站蜘蛛池模板: 国产成人亚洲精品青草天美| 免费萌白酱国产一区二区| 亚洲伊人色欲综合网| 成人免费夜片在线观看| 国产真人无遮挡作爱免费视频 | xxxx日本免费| 亚洲综合亚洲国产尤物| 18禁美女黄网站色大片免费观看 | 久久综合亚洲色HEZYO国产| 国产精品免费久久久久久久久| www国产亚洲精品久久久日本| 亚洲精品黄色视频在线观看免费资源| 国产91精品一区二区麻豆亚洲| 男女拍拍拍免费视频网站| 亚洲电影免费在线观看| 亚洲精品免费在线视频| 亚洲中文字幕无码av| 免费人成在线观看网站品爱网日本| 一级做a免费视频观看网站| 亚洲AV日韩精品久久久久久久 | 在线播放高清国语自产拍免费 | 无码免费一区二区三区免费播放| 中文字幕亚洲第一在线| 成年人免费网站在线观看| 黄色a级免费网站| 亚洲第一精品福利| 成熟女人特级毛片www免费| 在线播放亚洲精品| 亚洲av永久无码精品古装片| 久久精品免费全国观看国产| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲综合无码AV一区二区| 国产黄色免费网站| 精品国产亚洲AV麻豆 | 免费观看国产精品| 很黄很污的网站免费| 一本天堂ⅴ无码亚洲道久久| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 一级毛片全部免费播放| 亚洲色中文字幕在线播放| 色噜噜亚洲精品中文字幕 |