0

我可以在不使用 jquery http://bassistance.de/jquery-plugins/jquery-plugin-validation/的验证插件提交整个表单的情况下验证按钮单击的表单吗

这个插件非常适合表单验证,但实际上我想检查写在文本框中的文本是否是电子邮件,如果它是电子邮件,那么我必须检查它是否在我的数据库中,如果它在我的数据库它将让用户提交表单,否则禁用按钮现在我正在使用验证插件,如下所示:

$('#child1Email').blur(function(){
    var result=$('#frmAddChild').validate();
    alert(result);
    //if(result)
       //Ajax call to my servlet
    //else
       //Message box showing wrong  email and disabling the submit button
}); 

PS我将带有id :: child1Email文本字段的保留为电子邮件,以便将其验证为电子邮件

<form name='frmAddChild' id='frmAddChild' action='addChild' method='post'>
     .
     .
     .
     .
     .
     <input type="text" name="child1Email" id="child1Email" class='email'/>
     .
     .
     .
     .
     .
</form>

但是当我提醒结果时它显示[object Object]在此处输入图像描述

提前致谢

4

1 回答 1

2

您可以轻松地创建自己的验证规则,而不是在新代码块中施展魔法。

像这样的东西:

<input type="text" 
       name="child1Email" 
       id="child1Email" 
       class="email"
       />

使用 jQuery Validation Plugin,您可以将自定义代码编写为:

$("form").validate({    
    rules: {      
        child1Email: {        
            required: true,        
            remote: "validate-email.jsp"      
        }    
     },
     messages: {
         child1Email: "Email is correct."   
         },
         submitHandler: function() {
             alert("Correct email!");
         },
         success: function(label) {
             label.addClass("valid").text("Valid email!")
         },
         onkeyup: false
});

remote选项将以GET这种格式向您发送请求:

validate-email.jsp?child1Email=abc%40domain.com 

你在哪里发回true或者false取决于你想要做出什么反应。

另外,您始终可以自己调用验证,例如:

$("form").submit(function() {

    if($("form").valid()) { 
        alert('valid form'); 
        return true; // submit automatically
    }
    else { 
        alert('form is not valid'); 
    }

    return false; // no need to submit automatically
});
于 2012-04-05T10:53:05.833 回答