0

这是我对 email_address 的验证

$().ready(function() {
$('#email_settings').validate({
rules: {
    email_address: { required:true, email:true, minlength:7 }
}
});
});

在提交页面之前,我需要在上述验证后调用以下查询

$.post('../get_email_availability.php',
    {eml_ad:$('#email_address').val()},
    function(data){
    if (data=='available'){}
    else{}
    });
4

2 回答 2

0

我已经实现了这个类似的功能。我使用“addMethod”函数来实现这个功能: jQuery.validator.addMethod(name,method[,message])

它可以添加自定义验证方法。在这种情况下,我们需要一个“电子邮件可用性”检查器来检查带有数据库的电子邮件。

你可以试试这个:

$.validator.addMethod("checkEmailUsed",function(value,element){
  var result=$.ajax({
      url:"../get_email_availability.php",
      type:"POST",
      async:false,
      data: "eml_ad="+$('#email_address').val()
  }).responseText;
  if(result==="available"){ 
    return true //can be used
  }else{ 
    return false;
  }
},"E-mail is not available.");

并且不要忘记将此自定义验证方法添加到电子邮件验证规则中。

$('#email_settings').validate({
  rules: {
    email_address: { required:true, email:true, minlength:7, checkEmailUsed: true }
  }
});

我希望这对你有帮助

于 2013-06-24T10:58:21.540 回答
0

你可以试试:

if($('#email_settings').valid())
{
   $.post(...);
}
else return false;
于 2013-06-24T10:27:26.877 回答