Custom Laravel validation messages Custom Laravel validation messages laravel laravel

Custom Laravel validation messages


Laravel 5.7.*

Also You can try something like this. For me is the easiest way to make custom messages in methods when you want to validate requests:

public function store(){    request()->validate([        'file' => 'required',        'type' => 'required'    ],    [        'file.required' => 'You have to choose the file!',        'type.required' => 'You have to choose type of the file!'    ]);}


If you use $this->validate() simplest one, then you should write code something like this..

$rules = [        'name' => 'required',        'email' => 'required|email',        'message' => 'required|max:250',    ];    $customMessages = [        'required' => 'The :attribute field is required.'    ];    $this->validate($request, $rules, $customMessages);


You can provide custom message like :

$rules = array(            'URL' => 'required|url'        );    $messages = array(                'URL.required' => 'URL is required.'            );$validator = Validator::make( $request->all(), $rules, $messages );if ( $validator->fails() ) {    return [        'success' => 0,         'message' => $validator->errors()->first()    ];}

or

The way you have tried, you missed Validator::replacer(), to replace the :variable

Validator::replacer('custom_validation_rule', function($message, $attribute, $rule, $parameters){    return str_replace(':foo', $parameters[0], $message);});

You can read more from here and replacer from here