javascript - parsley.js 远程验证响应

标签 javascript parsley.js

我有一个关于 parsley.js v2.0.0 和远程验证库的问题。

我想自定义远程验证一个字段,但我不知道如何正确显示从我的远程源返回的错误消息。

来自服务器的响应是一个 JSON 格式的字符串,以纯文本形式返回,如下所示:

{ "error": "my custom error message" }

This is my form input and script:

<input type="text" id="UserLogin" maxlength="32" data-ajax-name="login" data-parsley-remote-options='{ "type": "POST",  "data": { "field": "login" } }' data-parsley-remote-validator="validateUsername" data-parsley-remote="1" data-parsley-trigger="focusout" name="data[User][login]" data-parsley-id="2315">

<script>
jQuery('#UserLogin').parsley().addAsyncValidator(
  'validateUsername', function (xhr) {
    return 200 === xhr.status;
    return 404 === xhr.status; 
  }, '/api/validationMethod'
);
</script>

在 parsley 错误容器中,显示来自模式属性的默认消息“此值似乎无效”,但不显示来自服务器的响应。我怎样才能做到这一点?

最佳答案

问题已通过使用 ParsleyUI 方法解决。

<input type="text" id="UserLogin" maxlength="32" data-ajax-name="login" data-parsley-remote-options='{ "type": "POST",  "data": { "field": "login" } }' data-parsley-errors-messages-disabled="1" data-parsley-remote-validator="validateUsername" data-parsley-remote="1" data-parsley-trigger="focusout" name="data[User][login]" data-parsley-id="2315">

<script>
jQuery('#UserLogin').parsley().addAsyncValidator(
  'validateUsername', function (xhr) {
       var UserLogin = $('#UserLogin').parsley();
       window.ParsleyUI.removeError(UserLogin,'errorUsername');
       if(xhr.status == '200')
           return 200;
       if(xhr.status == '404')
           response = $.parseJSON(xhr.responseText);
           window.ParsleyUI.addError(UserLogin,'errorUsername',response.error);
  }, '/api/validationMethod'
);
</script>

关于javascript - parsley.js 远程验证响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23515833/

相关文章:

javascript - 展开元素跨越两列布局

javascript - 抓取 Parsley JS 字段错误并更新 CSS

javascript - Parsley.js - 将标签值附加到错误消息

javascript - Parsley.js 根据选定的单选按钮验证表单的各个部分

javascript - 非常简单的 slider

javascript - 检测未添加到 DOM 的音频元素

javascript - 如何在javascript中通过json解析关联数组

javascript - 文件大小的 Parsley.js 验证?

javascript - 表格:submit unable to prevent default with return false

javascript - 如何判断哪个按钮调用了函数?