دوسلار
5 سال پیش توسط دوسلار مطرح شد
0 پاسخ

مشکل عدم نمایش پیام ها بعد از fail شدن validation

Request زیر ورژن ساده شده request ای هست که برای اعتبار سنجی درخواست ازش استفاده می کنم اما متاسفانه بعد از fail شدن validation با وجود redirect شدن به صفحه فرم هیچ پیغام خطایی نمایش داده نمیشه چون session خالی هست ولی چیزی که این مشکل را جالب می کنه این هست که مشکل از message های تعریف شده است و اگر message ها رو حذف کنم همه چیز همون طور که انتظار می ره کار می کنه و جالبتر اینکه فقط بعضی از message ها مشکل ایجاد می کنن (در این ورژن ساده شده type.required) و اگر این مورد حذف بشه یا حتی پیغام خطا عوض بشه همه چیز به درستی کار می کنه.
همین طور سعی کردم ترجمه را با استفاده از فایل های language انجام بدم ولی این بار هم اسم بعضی فیلد ها در attribute مشکل ایجاد می کنه.
نکته آخر اینکه در App\Exceptions\Handler.php می تونم به محتوای error bag دستری داشته باشم و هر چیزی که باعث پاک شدن session میشه بعد از این مرحله اتفاق می افته این رو هم بگم که من در این پروژه ده ها request دارم و همشون به درستی کار می کنن و این اولین باری هست که در این پروژه و کل حرفه کاریم با چنین مشکلی مواجه میشم.

namespace App\Http\Requests\BusinessManagement;

use Illuminate\Foundation\Http\FormRequest;

class BusinessCreateRequest extends FormRequest
{

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'entrepreneur_mobile_number' => [
                'required',
            ],
            'business_category_type' => [
                'required',
            ],
            'business_category' => [
                'required',
            ],
            'type' => [
                'required',
            ],
            'business_name' => [
                'required',
            ],
            'bank_card_number' => ['nullable', 'digits:16'],
            'bank_sheba_number' => [
                'required_without:bank_card_number',
            ],
            'country' => [
                'required',
            ],
            'province' => [
                'required',
            ],
            'city' => [
                'required',
            ],
            'address' => ['required'],
        ];
    }

    public function messages()
    {
        return [
            'entrepreneur_mobile_number.required' => 'مالک کسب و کار را مشخص کنید.',
            'entrepreneur_mobile_number.regex' => 'فرمت اطلاعات وارد شده برای مالک کسب و کار صحیح نیست.',
            'entrepreneur_mobile_number.exists' => 'اطلاعات مالک کسب و کار موجود نیست.',
            'business_category_type.required' => 'نوع کسب و کار را مشخص کنید.',
            'business_category_type.in' => 'مقدار وارد شده برای نوع کسب و کار صحیح نیست.',
            'business_category.required' => 'حوزه فعالیت کسب و کار را مشخص کنید.',
            'business_category.exists' => 'حوزه فعالیتی به صورت وارد شده تعریف نشده است.',
            'type.required' => 'نوع فعالیت را مشخص کنید.',
        ];
    }
}

ثبت پرسش جدید

به همدیگه کمک کنیم

به دوسلار کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام