JOE JOE - 16 days ago 13
PHP Question

How to give custom field name in laravel form validation error message

I was trying form validation in laravel.
I have a input text field in my form called 'Category' and i'm given the field name as 'cat' as short.

And i defined the validation rules like this.

public static $rules=array(
"name"=>"required|min:3",
"cat"=>"required"
);


When the validation fails i'm getting error message like this

The name field is required.
The cat field is required.


But i want to display it as "The category field is required" instead of 'cat'.
How can i change 'cat' to 'Category' in error message ?.

Answer

You can specify custom error message for your field as follows.

$messages = array(
    'cat.required' => 'The category field is required.',
);

$validator = Validator::make($input, $rules, $messages);

Please see Custom Error Messages section in laravel documentation for more information.

Or you can keep a mapping for your field names like below. And you can set those into you validator. So you can see descriptive name instead of real field name.

$attributeNames = array(
   'name' => 'Name',
   'cat' => 'Category',     
);

$validator = Validator::make ( Input::all (), $rules );
$validator->setAttributeNames($attributeNames);