Skip to content
Advertisement

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 ?.

Advertisement

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);
User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement