ظاهرا کسی جواب منو نمیخواد بده
کدی که باعث این مشکل میشه رو پیدا کردم
خط ۳۲۷ از فایل jquery.yiiactiveform.js
if (!needAjaxValidation || settings.submitting && !$.isEmptyObject(messages)) {
if (settings.submitting) {
// delay callback so that the form can be submitted without problem
setTimeout(function () {
successCallback(messages);
}, 200);
} else {
successCallback(messages);
}
return;
}
که اگه بلوک if اجرا بشه باعث میشه تابع return بشه و از اونجا که اعتبار سنجیهایی که نیاز به ajax دارن بعد از این خطوط واقع شدن دیگه اجرا نمیشن وهمین باعث میشه که خطاهایی که نیاز به ajax دارن نشون داده نشن.
حالا میشه یه کاری کرد میشه شروط if رو به این صورت در آورد
if (!needAjaxValidation) {
if (settings.submitting) {
// delay callback so that the form can be submitted without problem
setTimeout(function () {
successCallback(messages);
}, 200);
} else {
successCallback(messages);
}
return;
}
که در اینصورت درست کار میکنه (خودم امتحان کردم)
حالا یه سوال واسم پیش اومده که چرا شروط رو به اینصورت نوشتن؟ چه مزیتی داره مگه؟
خداییش اینو دیگه جواب بدین