Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

sahand_kh's avatar

No error message is displayed after laravel validation fails

This is the simplified version of the request I used to validate submitted form data, but when validation fails no error message is displayed:


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' => 'نوع فعالیت را مشخص کنید.',
        ];
    }
}

If I remove custom messages everything works as expected but currently no message has been displayed, I also tried to specify custom messages in the language file but the result was the same.

I also check the error bags in the controller when validation fails. When I use custom messages the error bag is empty, but more interestingly if I remove custom message or even change the content of several of them the error bag would be populated.

I can access error messages in App\Exceptions\Handler.php, but after this point something remove errors from the session

0 likes
0 replies

Please or to participate in this conversation.