我想要显示的是“名称已经存在”,而不是“这个值似乎无效”。在欧芹远程验证中。
我试着用
$('#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);但它同时给出了这两个信息。
发布于 2014-10-10 19:14:28
我将指出您应该进行哪些更改才能使您的代码正常工作,但有一种更简单的方法可以在回答结束时完成您想要的内容。
<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>以下是一些备注:
$('#script-name').parsley().addAsyncValidator(...)。请注意,应将异步验证器添加到字段中,而不是表单中。因此,您应该使用$("#user-name")window.ParsleyUI中添加或删除消息,您指的是username和parsley。您应该始终引用在beggining.username。无论验证的结果如何,都将始终希望删除remote的默认消息。删除之前我称为remotevalidator.的任何消息也很重要
有一种更简单的方法来实现你想要的
你可以在你的输入中设置消息,而不是在window.ParsleyUi上乱搞。您的代码将如下所示:
<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>发布于 2015-09-10 21:01:46
我解决了这个问题,在元素中添加了一个属性"errorMessage“。例如:
$("#user-name").parsley({ errorMessage: "User name already used" });https://stackoverflow.com/questions/26279950
复制相似问题