validate表單驗證-單獨驗證


    今天編寫一個表單驗證程序,我來說一下今天遇到的坑:程序不是通過submit按鈕提交驗證的,是在自己寫的一個方法中提交的,出現了表單無法驗證的情況。然后我就了解了一下jquery validate的驗證方法。

    jquery validate表單驗證方式有三個:

    1、直接通過submit方式提交,提交時自動驗證(常用的方法,不懂得可以查看 菜鳥教程-validate使用

    2、如果不是submit提交,比如在jquery中的某個事件中,調用提交表單事件的情況,在此時,1中的情況就不適用了(可能出現表單不驗證的方法),這也是我遇到的問題

      這就需要自己先編寫一個表單驗證程序,驗證通過后,再提交表單。

     //編寫的表單驗證程序 
     function
validateForm() { return $("#cashForm").validate({ rules: { name: { required: true }, phone: { required: true, pattern: /^0?(13[0-9]|15[012356789]|18[012346789]|14[57]|17[678]|170[059]|14[57]|166|19[89])[0-9]{8}$/ }, carId: { required: true, pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ }, number: { required: true, remote: { url: "${base}/business/cash/check_card", cache: false } } }, messages: { phone: { pattern: "${message("common.validate.pattern")}" }, number: { remote: "${message("common.validate.pattern")}" } } }).form(); }

    提交表單事件:(以下函數是驗證碼驗證通過后,觸發的表單驗證,紅色加粗部分,大家寫的時候可以直接用此部分)

     $(document).ready(function(){
            var $cashForm = $("#cashForm");

            //獲取驗證碼按鈕綁定點擊事件
            $(".verIfi-btn").on("click",verification);

            $("#sms_check").click(function () {
                var smsCaptcha = $("input[name='smsCaptcha']").val();
                var smsCaptchaId = $("input[name='smsCaptchaId']").val();
                $.ajax({
                    url: "${base}/business/cash/sms_check",
                    type: "GET",
                    data:{
                        smsCaptchaId: smsCaptchaId,
                        smsCaptcha: smsCaptcha
                    },
                    dataType: "json",
                    cache: false,
                    success: function(message) {
                        if (message.check){
                            if(validateForm()){ $cashForm.submit(); }
                        }
                    }
                });
            });
        });

    3、驗證一個單獨的表單元素(校驗規則寫在空間中的時候使用)

    例如:

<textarea id="ccomment" name="comment" maxlength="200" required></textarea>

    驗證方法:

    function validateForm() {
       $("#commentForm").validate().element($("#ccomment"));
    }
    
    function doSubmit(){  
       //do other things  
       //驗證通過后提交  
       if(validateForm()){  
         $("#commentForm").submit()  
       }  
    }

    參考:http://layznet.iteye.com/blog/1168811

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM