使用jquery验证最初隐藏的表单


validating an initially hidden form using jquery

我正在使用jquery验证最初隐藏的表单,但是即使字段为空,表单也会提交

$(document).ready(function () {
    jQuery("#name").validate({
        expression: "if (VAL) return true; else return false;",
        message: "* Please enter name"
    });
});

我这样做的ajax提交的形式..

    $("#send").click(function (e) {
        e.preventDefault();
       var name = $('#name').val();
    $.ajax({
        // ajax submition 
       )};
});

试试这个…并使用<form> id代替validate函数。

$(document).ready(function () {
    jQuery("#formid").validate({
        ignore:'',
        rules:{
            name:{
                required:true
            }
        },
        messages:{
            name:{
                required:'* Please enter name'
            }
        }
    });
});

我想你使用的是新版本的jQuery验证器插件,默认忽略隐藏元素。

回复你的更新的问题,你可以这样做

$("#send").click(function (e) {
    e.preventDefault();
    var name = $('#name').val();
   if(name.length > 0){ //if length is greater than 0 then only fire ajax else show the error
       $.ajax({
        // ajax submition 
       )};
   }else
       //show error
       alert('Name not found');
   }
}