validate表單驗證-單獨驗證

    今天編寫一個表單驗證程序,我來講一下今天遇到的坑:程序不是經過submit按鈕提交驗證的,是在本身寫的一個方法中提交的,出現了表單沒法驗證的狀況。而後我就瞭解了一下jquery validate的驗證方法。html

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

    一、直接經過submit方式提交,提交時自動驗證(經常使用的方法,不懂得能夠查看 菜鳥教程-validate使用ajax

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

      這就須要本身先編寫一個表單驗證程序,驗證經過後,再提交表單。函數

     //編寫的表單驗證程序 
     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(); }

    提交表單事件:(如下函數是驗證碼驗證經過後,觸發的表單驗證,紅色加粗部分,你們寫的時候能夠直接用此部分)ui

     $(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(); }
                        }
                    }
                });
            });
        });

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

    例如:spa

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

    驗證方法:code

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

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

相關文章
相關標籤/搜索