使用JQuery Validation插件从远程php文件获得正确响应的问题

时间:2011-07-15 16:23:56

标签: jquery jquery-validate

他的表单正在使用必需的电子邮件检查,但是,当我做远程时,它给出了非常奇怪的回复。 我不完全确定我从我的PHP返回正确的东西。当我将它设置为返回变量时,它只会提出第一个检查值,并说它已经存在,即使它没有,并且即使我更改输入也保留它。我尝试回显中的值PHP,虽然所以我知道它正在获得正确的价值观。如果我回显$ valid变量而不是返回它,则消息被设置为'1'并且保持不变,无论是否匹配。

不确定我在这里做错了什么,似乎相当简单,但可能是因为我不理解应该通过JSON传递什么。让我知道你的想法,我已经没有什么可尝试的了!

 $(function() { 
    $("#registrationForm").validate({ 
        rules: { 
            email: {  
                required: true, 
                email: true, 
                remote: "checkEmail.php" 
            }
        }
 messages: { 
             email: { 
                 required: "This field is required", 
                 email: "Please enter a valid email address", 
                 remote: jQuery.format("{0} is already in use") 
             }
         }
    }); 
 }); 

php:

$check = trim(strtolower($_GET['email']));
$valid = true;
foreach ($model->getAllUsers() as $users) {
   if ($users->email == $check) {
       $valid = false;
   } 
}
return $valid;

1 个答案:

答案 0 :(得分:0)

解决方案是使用echo json_encode($valid);作为输出。它在文档中提到了JSON编码,但我想它让我放弃了他们没有使用它的示例php。