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");
}
}
}