jQuery验证远程电子邮件验证无效

时间:2010-11-06 04:42:37

标签: jquery validation

在我的用户编辑器页面中,我正在尝试检查其他客户是否正在使用输入电子邮件,而不是客户当前的电子邮件。这是我的代码,它似乎没有显示错误消息,但我的表单无法提交。

这是我的JS:

$("#cedit").validate({
 rules : {
  email : {
   email : true,
   remote : {
    url : "ajax_checkemail.php",
    type : "GET",
    data : {
     email : function() {
      return $("#email").val();
     },
     custid : function() {
      return $("#editc").val();
     }
    }
   }
  }
 },
 messages : {
  email : {
   remote : "Email is in use"
  }
 }
});

和PHP

include 'common.php';
$valid = false;
if(isset($_GET['email']))
{
    $email = $_GET['email'];
    $query = "SELECT * FROM `customer` WHERE `email_address` = '$email'";
    if(isset($_GET['custid']) && !empty($_GET['custid']))
    {
        $custid = $_GET['custid'];
        $query .= " AND `customer_id` != '$custid'";
    }
    $result = query($query);
    $count = mysql_num_rows($result);

    if ($count == 0)
    {
        $valid = true;
    }
}
echo json_encode($valid);

当我直接访问它并将GET参数放在URL中时,PHP工作正常,但由于某种原因它不能正确验证,因此不会让表单提交。

1 个答案:

答案 0 :(得分:0)

我从未使用过这个远程验证,但是你不需要在php脚本中将响应类型设置为json吗? As in header('Content-type: application/json');