在parsleyJS中,可以使用AJAX创建远程验证:
var $email_input = $('#id_email');
// Load validator
$email_input.attr('data-parsley-remote', "");
$email_input.attr('data-parsley-debounce', "1000");
$email_input.attr('data-parsley-remote-validator', "checkexistingcontact");
$email_input.attr('data-parsley-remote-message', "Contact email address already exists.");
window.Parsley.addAsyncValidator('checkexistingcontact', function(xhr) {
return xhr.status >= 200 && xhr.status < 300;
},
'/contacts/validate_contact/?email={value}', { "type": "GET", "dataType": "json" });
也可以通过简单地定义多个同步验证器并将data-parsley-[mySyncrnousValidator]
添加到输入字段attr来包括多个同步验证器。
但是,可以运行多个远程验证器吗?我看不到如何执行此操作,因为似乎没有方法可以在data-parsley-remote-message
函数中设置addAsyncValidator
,因此任何其他异步验证器都将具有相同的错误消息?
它的设计并非如此。添加您自己的自定义验证器很容易,但是它可以执行ajax请求。