parsley.js中的远程规则消息


remote rule message in parsley.js

也许这是最愚蠢的问题,但我真的不知道如何解决这个问题。

我使用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&ntilde;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结果,而是200400状态码。Parsley远程验证器默认承认200响应为良好验证,其他所有响应为失败

  • 定义你自己的欧芹远程验证器(见这里的自定义远程验证器部分:http://parsleyjs.org/doc/index.html#remote),你将不再检查响应状态,而是响应内容,寻找你的布尔答案。

希望有帮助。

最好