【问题标题】:JQuery Validation Plugin Remote Validation Error always fires [duplicate]JQuery验证插件远程验证错误总是触发[重复]
【发布时间】:2015-01-15 14:25:55
【问题描述】:

在我的主页上,我有一个登录模式,通过基本表单询问用户的电子邮件地址和密码。输入电子邮件地址后,我会进行远程验证,以检查电子邮件地址是否在我的数据库中的黑名单表中。但是无论PHP返回false还是true都会触发远程错误并且不会让表单提交,即使PHP返回true也是如此。除遥控器外,所有验证均正常工作。我似乎无法解决这个问题,我已经查看了所有内容,但没有任何发现可以解决这个问题。

主页 jQuery

$(function(){
$("#frmSignIn").validate({
        rules: {
            InputEmailAddress: {
                required: true,
                email: true,
                remote:"scripts/blacklist.php"
            },  
            InputPassword: {
                required: true,
                minlength: 3,
                maxlength: 20                   
            }
        },
        messages: {
            InputEmailAddress:{
                required:"Don't forget your email address!",
                email:"Please enter a valid email address",
                remote:"This email address has been backlisted"
            },
            InputPassword:{
                required:"Please enter your password",
                minlength:"Password must be longer than 3 characters",
                maxlength:"Password can not be longet than 20 characters"
            }
        },
        submitHandler: function(){
            var data = $("#frmSignIn").serialize();
            $.post('posted.php', data, function(o){
                console.log(o);
            },'json');
        }
});
});

PHP

我会在完成这项工作后添加实际的表格检查

$email = $_GET['InputEmailAddress'];
$valid = true;
echo json_encode($valid);

【问题讨论】:

  • 你在Firedebug或chrome开发工具中看到请求响应了吗,即开发工具...?
  • 是的萤火虫,它返回应该是真/假,但 jquery 中的错误消息仍然会触发
  • 如果您通过包含form 参数submitHandler: function(form){... 正确使用submitHandler,您可以简单地这样做:$(form).serialize()

标签: javascript php jquery validation


【解决方案1】:

问题是 remote:'scripts/blacklist.php' 在单个''中

当我将其更改为双引号“scripts/blacklist.php”后,它就可以正常工作了...

如果有人知道为什么我很想知道,所以我可以理解,但问题解决了!

【讨论】:

  • 我不明白是什么问题。请把代码过去。
  • 问题是远程错误远程:“此电子邮件地址已被列入黑名单”无论如何都会触发。但这显然是因为规则远程调用不在双引号中
  • 添加正确的javascript。是在 PHP 端还是 Javacript 端。更精确。
  • 我编辑了它是 JS 远程:“此电子邮件地址已被退回”
  • URL 已经在你的 OP 中用双引号括起来,JavaScript 不关心它是单引号还是双引号。换句话说,您的 OP 中显示的代码,即使使用单引号,也不会导致您描述的问题。您的问题出在其他地方。
猜你喜欢
  • 1970-01-01
  • 2011-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多