0
我有一個表單,我試圖對其中一個字段進行香菜遠程驗證,但是,在表單驗證時,表單在它等待來自遠程函數(通過asyncValidate())。因此,即使字段無效,它也會顯示字段錯誤css,但表單仍然提交。歐芹驗證不等待遠程驗證AsyncValidate完成
我試過使用$ .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);
});
});
你說得對,我沒有使用最新版本...我在我的控制器(MVC結構)中使用了一種解決方法,以便我不試圖通過jQuery進行驗證。儘管如此,我會將這個答案標記爲正確的。 – user3228515