geoandri
geoandri

Reputation: 2428

laravel 5.1 custom validation message same field name

I have in my application fields with the same name accross my models. For example I have a "firstname" field in both User Model and Teacher Model. I am using validation and specified custom validation messages in Language files (by adding language folders and validation.php files inside resources/lang). Is there a way to return different messages for same field name? For example i would like to do something like the following

'custom' => [ 
                'user.firstname' => [
                       'required' => 'message',            
                 ],
                 'teacher.firstname' => [
                       'required' => 'different message',            
                 ],
            ],

Upvotes: 1

Views: 1151

Answers (1)

Shnoo
Shnoo

Reputation: 48

You can pass custom error messages to the Validator. See (http://laravel.com/docs/5.1/validation)

$messages = [
    'required' => 'The :attribute field is required.',
];

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

so your messages array would be looking something like this:

 $messages = [
     'required' => trans('validation.error1')
 ];

you could even specify a different require message for every input with this notation:

'email.required' => 'We need to know your e-mail address!',

Upvotes: 1

Related Questions