首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Parsley remote replace默认错误消息

Parsley remote replace默认错误消息
EN

Stack Overflow用户
提问于 2014-10-09 21:39:10
回答 2查看 3.1K关注 0票数 2

我想要显示的是“名称已经存在”,而不是“这个值似乎无效”。在欧芹远程验证中。

我试着用

代码语言:javascript
复制
$('#script-name').parsley()
    .addAsyncValidator('remotevalidator', function (xhr) { 
        var userName = $('#user-name').parsley(); 
        var valid = (xhr.responseText != 'true'); 

        if(valid){ 
            window.ParsleyUI.removeError(name,'remote'); 
        }else{ 
            window.ParsleyUI.addError(parsley,'remote','User name already used'); 
        } 

        return valid; 
    }, PageVariables.USER_NAME_EXISTS_URL);

但它同时给出了这两个信息。

EN

回答 2

Stack Overflow用户

发布于 2014-10-10 19:14:28

我将指出您应该进行哪些更改才能使您的代码正常工作,但有一种更简单的方法可以在回答结束时完成您想要的内容。

代码语言:javascript
复制
<input type="text" name="userName" id="user-name"
    data-parsley-trigger="focusout"
    data-parsley-remote
    data-parsley-remote-options='{ "type": "POST" }'
    data-parsley-remote-validator="remotevalidator"
    required />

<script>
var username = $("#user-name").parsley()
    .addAsyncValidator('remotevalidator', function (xhr) {
        var valid = xhr.responseText != 'true';

        window.ParsleyUI.removeError(username,'remote');
        window.ParsleyUI.removeError(username,'remotevalidator');

        if( !valid ) {
            window.ParsleyUI.addError(username,'remotevalidator', 'User name already used');
        }

        return valid;

    }, PageVariables.USER_NAME_EXISTS_URL);
</script>

以下是一些备注:

  1. 在您的代码中,您正在使用$('#script-name').parsley().addAsyncValidator(...)。请注意,应将异步验证器添加到字段中,而不是表单中。因此,您应该使用$("#user-name")
  2. When在window.ParsleyUI中添加或删除消息,您指的是usernameparsley。您应该始终引用在beggining.
  3. You中定义的username。无论验证的结果如何,都将始终希望删除remote的默认消息。删除之前我称为remotevalidator.

的任何消息也很重要

有一种更简单的方法来实现你想要的

你可以在你的输入中设置消息,而不是在window.ParsleyUi上乱搞。您的代码将如下所示:

代码语言:javascript
复制
<input type="text" name="userName" id="user-name"
    data-parsley-trigger="focusout"
    data-parsley-remote
    data-parsley-remote-options='{ "type": "POST" }'
    data-parsley-remote-validator="remotevalidator"
    data-parsley-remote-message="User name already used"
    required />

<script>
var username = $("#user-name").parsley()
    .addAsyncValidator('remotevalidator', function (xhr) {
        return xhr.responseText != 'true';

    }, PageVariables.USER_NAME_EXISTS_URL);
</script>
票数 6
EN

Stack Overflow用户

发布于 2015-09-10 21:01:46

我解决了这个问题,在元素中添加了一个属性"errorMessage“。例如:

代码语言:javascript
复制
$("#user-name").parsley({ errorMessage: "User name already used" });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26279950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档