也许这是最愚蠢的问题,但我真的不知道如何解决这个问题。
我使用parsley.js和我做了一个密码字段验证使用parsley的数据远程:
视图代码片段:
<form data-parsley-validate novalidate class="form-horizontal group-border-dashed" id= "form-val" role="form" action="{site_url()}admin/checkPass" method="post" enctype="multipart/form-data">
<div class="form-group">
<div class="col-sm-4">
<label>Contraseña Actual</label>
</div>
<div class="col-sm-7">
<input id="actualPass" type="password" name="actualPass" data-parsley-remote="{site_url()}admin/checkPass" data-parsley-remote-options="POST" data-remote-datatype="jsonp" class="form-control" required>
</div>
</div>
在我的admin.php:
public function checkPass(){
if (isset($_POST['actualPass'])) {
$passMd5 = md5($_POST['actualPass']);
$pass = ($this->data['actualUserBack']->user_password);
if ($passMd5 == $pass) {
echo json_encode(true);
}else{
echo json_encode(false);
}
}
}
我有其他字段(新密码和重新键入新密码),工作超级与此欧芹的验证。当你输入错误的密码时,会出现一条红色的消息。
我想要的是在我所做的第一个验证中具有自定义消息的相同红色框。从admin.php/checkPass我只返回true和false在一个空白的页面。
在这种情况下如何使用欧芹验证格式?
我在这里附加图片:
第一个checkPass函数是什么?
我希望它的样子:image 2
如何发送数据?我需要修改或添加什么?谢谢!
有两种可能:
-
修改后端脚本,不再返回
true/false
结果,而是200
和400
状态码。Parsley远程验证器默认承认200
响应为良好验证,其他所有响应为失败 -
定义你自己的欧芹远程验证器(见这里的自定义远程验证器部分:http://parsleyjs.org/doc/index.html#remote),你将不再检查响应状态,而是响应内容,寻找你的布尔答案。
希望有帮助。
最好