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);