У меня есть форма, и я пытаюсь выполнить удаленную проверку петрушки в одном из полей, однако при проверке формы форма отправляется до того, как она ожидает ответа от удаленной функции (через asyncValidate()). Таким образом, даже если поле недействительно, оно покажет ошибку поля css, но форма все равно будет отправлена.
Я пытался использовать объект $.Deferrede, но это не работает.
function add_remote_validation() {
var form = card.el.find('form');
$(form).parsley().addAsyncValidator('validate_function', function (xhr) {
return parseInt(xhr.responseText);
});
}
add_remote_validation();
card.cards['my_card1'].on('validate', function(card){
add_remote_validation();
var result = $.Deferred();
// test any asyncronous validation before doing regular validation
$(form).parsley().asyncValidate()
.done(function(){
var valid = $(form).parsley().validate();
if(valid) {
result.resolveWith(valid);
} else {
result.rejectWith(valid);
}
})
.fail(function(){
result.rejectWith(false);
});
});