Composite Validation Rules
Published on by Paul Redmond
Validation Composite is a package by Paul Klimov that allows uniting several validation rules into a single one for easy reuse.
Here are a few simple examples that will help visualize how this package works. Let’s say you want to centralize your password or avatar rules into one composite rule:
<?php namespace App\Rules; use Illuminatech\Validation\Composite\CompositeRule; class PasswordRule extends CompositeRule{ protected function rules(): array { return ['string', 'min:8', 'max:200']; }} class AvatarRule extends CompositeRule{ protected function rules(): array { return ['file', 'mimes:png,jpg,jpeg', 'max:1024']; }}
Example usage of these composite rules looks like this in a controller:
public function update(Request $request){ $validatedData = $request->validate([ 'password' => ['required', new PasswordRule], 'avatar' => ['required', new AvatarRule], // ... ]); // ...}
You can learn more about this package, get full installation instructions, and view the source code on GitHub at illuminatech/validation-composite.