Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 欧芹远程验证_Javascript_Php_Validation_Parsley.js - Fatal编程技术网

Javascript 欧芹远程验证

Javascript 欧芹远程验证,javascript,php,validation,parsley.js,Javascript,Php,Validation,Parsley.js,我有以下用户名输入字段: <input type="email" class="form-control" id="txt_username" name="username" data-parsley-trigger="change" data-parsley-remote="/User/user_exists" data-parsley-remote-options='{ "type": "POST", "dataType": "json", "data": { "request": "

我有以下用户名输入字段:

<input type="email" class="form-control" id="txt_username" name="username" data-parsley-trigger="change" data-parsley-remote="/User/user_exists" data-parsley-remote-options='{ "type": "POST", "dataType": "json", "data": { "request": "ajax" } }'>
但是,我不确定如何拒绝或允许验证

文档没什么帮助(至少我找不到)


可以有人向我推一个正确的方向吗?

< P>默认情况下,Pasy.RealEnter会把所有2xx Ajax响应都看作是<强>有效< /强>响应,其他所有的都是<强>错误<强>响应> < /P> 我们的应用程序中也有同样的问题,利用欧芹告诉用户他想要的用户名/电子邮件是否在我们的数据库中可用。要执行此操作并保持正确的REST API响应(如果用户找到,则为200,如果没有,则为404),您需要告诉parsley.remote执行与此相反的操作,方法如下:

  • 使用
    data parsley remote reverse=“true”
  • 使用
    data parsley remote validator=“reverse”
    告知使用反向验证器(与上述内容完全相同)
  • 最后但并非最不重要的一点是,为该检查创建您自己的验证器(我们在项目中使用了该验证器):

    window.ParsleyExtend.asyncValidators['remote-email']=函数(xhr){ 返回xhr.status==404; };

并使用
data parsley remote validator=“remote email”

所有这些都在文件中解释了

希望这有帮助


最佳

< P>默认情况下,Pasy.RealEnter将将所有2xx Ajax响应视为<强>有效< /强>响应,其余所有均为<强>错误< /强>响应。

我们的应用程序中也有同样的问题,利用欧芹告诉用户他想要的用户名/电子邮件是否在我们的数据库中可用。要执行此操作并保持正确的REST API响应(如果用户找到,则为200,如果没有,则为404),您需要告诉parsley.remote执行与此相反的操作,方法如下:

  • 使用
    data parsley remote reverse=“true”
  • 使用
    data parsley remote validator=“reverse”
    告知使用反向验证器(与上述内容完全相同)
  • 最后但并非最不重要的一点是,为该检查创建您自己的验证器(我们在项目中使用了该验证器):

    window.ParsleyExtend.asyncValidators['remote-email']=函数(xhr){ 返回xhr.status==404; };

并使用
data parsley remote validator=“remote email”

所有这些都在文件中解释了

希望这有帮助

php文件中的最佳

public function user_exists()
{
    if($this->isAjax())
    {
        $user = $this->getDatabase()->prepTemplate('SELECT * FROM User WHERE username = ? ', 's',array($_POST['username']), MySqlTemplates::RFQ_FM);
        if($user != null)
        {
            header("HTTP/1.0 404 Not Found");
        }
        else
        {
            header("HTTP/1.1 200 Ok");
        }
    }
}
在php文件中:

public function user_exists()
{
    if($this->isAjax())
    {
        $user = $this->getDatabase()->prepTemplate('SELECT * FROM User WHERE username = ? ', 's',array($_POST['username']), MySqlTemplates::RFQ_FM);
        if($user != null)
        {
            header("HTTP/1.0 404 Not Found");
        }
        else
        {
            header("HTTP/1.1 200 Ok");
        }
    }
}