Composite Validation Rules

Composite Validation Rules

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.


Filed in: News


Newsletter

Join the weekly newsletter and never miss out on new tips, tutorials, and more.

Laravel News Partners

Laravel Jobs

Mid / Sen. Software Engineer
Clearwater, FL
ShineOn
Remote PHP / Laravel Developer
Remote
SpringboardVR
Senior PHP/Laravel Developer: Your Dream Work Environment
Remote
iPhone Photography School
Senior Laravel Developer
Leidseplein, Amsterdam
Orderchamp.com
PHP Developer
Remote
X-Team
Senior Laravel Developer (Canada and India)
London, Ontario, Canada
Factory Bucket Inc.
Laravel, PHP, PostgreSQL, Neo4J Developer
Pune, India (intern in Denver, CO)
Life AI