使用jQuery Validation' remote'使用PHP

时间:2017-02-13 00:40:35

标签: php jquery ajax jquery-validate

我试图将jQuery的远程验证方法用于对某些服务器端逻辑的基本(好吧,应该)ajax调用。现在,我的情况变得特别的是我使用SlimFramework,所以我发布到路线,而不是直接的脚本页面。

这是JS:

 rules: {
    email: {
     required: true,
     email: true,
     remote: {
        url: 'http://localhost:3000/email/check',
        async: false,
        type: 'post',
        dataType: 'json',
        data: {
         email: function() {
            return $('#email').val();
         }
        }
       }
      }
  }
  messages: {
    email: {
      required: 'Please enter an email address.',
      remote: 'This email is already taken.'
    }
  }

这是我的服务器端逻辑,我几乎可以肯定这是正确的:

  $app->post('/email/check', function() use ($app) {

    $request = $app->request;
    $email = $request->post('email');
    $response = '';

    $user = $app->user
      ->where('email', $email)
      ->first();

    if($user) {
      $response = false;
    } else {
      $response = true;
    }

    header("HTTP/1.1 200 OK");
    header('Content-Type: application/json');
    echo json_encode($response);
  });

更新

更具体地说,当我在检查器中检查网络响应时,似乎请求成功:

但是,我在验证对象的remote属性中指定的messages验证消息未被抛出...

有关为何无法正常运作的任何建议吗?

0 个答案:

没有答案