我有一个关于 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/