I am using laravel request form validation and I want to apply same rule for more than one field.Is it possible for in any simple way? or need to write code for individually. My validation rule given below.
protected $rules = [
'phone' => ['max:11'],
'work_phone' => ['max:11'],
'mobile' => ['max:11'],
];
Can I group these filed in to single rule?
You can do some things inside the rules()
method:
public function rules(){
$phoneRules = ['max:11'];
return [
'phone' => $phoneRules,
'work_phone' => $phoneRules,
'mobile' => $phoneRules
]
}
Or:
public function rules(){
$fields = ['phone', 'work_phone', 'mobile'];
return array_fill_keys($fields, ['max:11']);
}
In case you have other attributes to validate with other rules you'd need something like this:
public function rules(){
$fields = ['phone', 'work_phone', 'mobile'];
$phoneRules = array_fill_keys($fields, ['max:11']);
$otherRules = [
'foo' => 'required',
'bar' => 'min:30'
]
return array_merge($phoneRules, $otherRules);
}
You should refer to the Custom Validation Rules section of the documentation, which precisely address this problem : http://laravel.com/docs/5.0/validation#custom-validation-rules