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.
JavaScript
x
public static $rules=array(
"name"=>"required|min:3",
"cat"=>"required"
);
When the validation fails i’m getting error message like this
JavaScript
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.
JavaScript
$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.
JavaScript
$attributeNames = array(
'name' => 'Name',
'cat' => 'Category',
);
$validator = Validator::make ( Input::all (), $rules );
$validator->setAttributeNames($attributeNames);