php - JQuery 验证错误或用户错误?

标签 php javascript jquery validation forms

Link to the site in question .

您可以在 JQuery 或此处的主要部分查看 javascript 的源代码:

// validate signup form on keyup and submit
var validator = $("#Register").validate({
    rules: {
        UserID: {
            required: true,
            minlength: 2,
            remote: {
                url: "form_check_user.php",
                type: "post",
            }
        },
        ....

因此它发布到 form_check_user.php UserID=ValueFromForm

这是 form_check_user.php 代码:

<?
    if ($_POST['UserID']) {
            $User = strtolower($_POST['UserID']);
            $htpasswd_array = file("/etc/passwd");
            $pattern = "/^$User:/";

          foreach ($htpasswd_array as $key => $value) {
              if (preg_match($pattern, $value)) {
                  echo "false";
                  exit;
              }
          }
          echo "true";
          exit;
    }
    echo "false";
    exit;
?>

该函数正常工作,我尝试使用 UserID 作为 root 或任何有效的 linux 用户,它检测到它无效...

如果您在...中输入“root”,问题就来了...它说它无效...您仍然切换到下一个表单,然后它显示[object Object] is already in use

编辑:可能应该包括这个,因为消息似乎是问题的一部分:

    messages: {
        UserID: {
            required: "Enter a username",
            minlength: jQuery.format("Enter at least {0} characters"),
            remote: jQuery.format("{0} is already in use")
        },

更新:8/20

经过调试,我已经确认这是验证插件中的错误。 (虽然我在错误发生的地方迷路了,但我知道这与我的 react 无关。)

最佳答案

我想我发现了错误;

验证有: message = message.call(this, rule.parameters, element);

这应该是:

message = message.call(this, message.parameters, element);

修复之后,一切似乎都正常了。我是 JQuery 和调试 javascript 的新手,因此可能需要对其进行更彻底的测试,但我认为这就是问题所在。

我已经通过电子邮件向插件开发人员发送了此修复程序(我注意到他的跟踪器和 JQuery 论坛中的错误存在多个问题)

关于php - JQuery 验证错误或用户错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508262/

相关文章:

php - 存储时间为 00 :00:00 的时间戳

javascript - JQuery:切换新创建的 DIV -> 链接到 $(this) 而不是 $(this).closest()

javascript - 通过属性访问数组对象,例如通过索引

javascript - 模板切换 View 的集合。 Backbone .js

javascript - JQuery 选择和交换样式表 href 值

php - 我如何找到 Zend 在我的服务器上的安装位置?

php - Google 邮件在 html 电子邮件中的图像的 src 路径中插入加号

php - 如何结合 Prestashop (PHP) 和 DjangoCMS (Python)

javascript - jQuery UI 对话框 - 停止关闭事件

javascript - Jquery 现在和 future 日期之间的差异不正确