unique validation وقتی textbox مربوطه رو ترک میکنم کار میکنه ولی موقع سابمیت خطا نشون نمیده
unique validation وقتی textbox مربوطه رو ترک میکنم کار میکنه ولی وقتی سابمیت میکنم خطایی نشون نمیده.
این در حالیه که هر چیزی که مربوط به ajax رو فعال کردم و همچنین validationonsubmit رو هم فعال کردم نمیدونم چرا اینجوریه.
مثلا یه textbox به نام username دارم که باید یکتا باشه نمیدونم چرا وقتی textbox رو ترک میکنم خطا رو نشون میده اما وقتی submit رو میزنم بقیه خطاها رو نشون میده ولی این خطا رو نشون نمیده و رنگ textfield رو سبز میکنه انگار نه انگار که مقدارش یکتا نیست
کسی نمیدونه مشکل کجاست
اینترنت رو شخم زدم و یکی دقیقا مشکل منو داشت ولی جواب درستی بهش نداده بودن
http://www.yiiframework.com/forum/in...n-form-submit/
نقل قول: unique validation وقتی textbox مربوطه رو ترک میکنم کار میکنه ولی موقع سابمیت خطا نشون نمی
تازه فهمیدم که خطا رو نشون میده اما بشرطی که هیچ خطای دیگهای وجود نداشته باشه. اگه غیر از اون خطای دیگهای باشه این خطا رو نشون نمیده. من میخوام این خطا هم همراه بقیه خطاها نشون بده چیکار کنم؟
نقل قول: unique validation وقتی textbox مربوطه رو ترک میکنم کار میکنه ولی موقع سابمیت خطا نشون نمی
ظاهرا yii ابتدت خطاهایی که نیاز به ajax نداره رو نشون میده اونایی که نیاز به ajax ندارن رو بررسی نمیکنه. اگه هیچ خطایی نبود اونوقت اونایی که به ajax نیاز دارن رو بررسی میکنه.
راه حلی ندارین؟
نقل قول: unique validation وقتی textbox مربوطه رو ترک میکنم کار میکنه ولی موقع سابمیت خطا نشون نمی
نقل قول: unique validation وقتی textbox مربوطه رو ترک میکنم کار میکنه ولی موقع سابمیت خطا نشون نمی
ظاهرا کسی جواب منو نمیخواد بده
کدی که باعث این مشکل میشه رو پیدا کردم
خط ۳۲۷ از فایل 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;
}
که در اینصورت درست کار میکنه (خودم امتحان کردم)
حالا یه سوال واسم پیش اومده که چرا شروط رو به اینصورت نوشتن؟ چه مزیتی داره مگه؟
خداییش اینو دیگه جواب بدین
نقل قول: unique validation وقتی textbox مربوطه رو ترک میکنم کار میکنه ولی موقع سابمیت خطا نشون نمی
انگار با این تغییر کد یه مشکل حل میشه و یه مشکل خادتر میآد
حالا دیگه اونایی که به ajax نیاز ندارن بد کار میکنند