Skip to content

Laravel validation service provider to allow creation of validation classes

Notifications You must be signed in to change notification settings

bashleigh/LaraValidator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Installation

Add the service provider to your providers array in config/app.php

'providers' => [
    ...
    ChickenTikkaMasala\LaraValidator\ValidatorServiceProvider::class,
    ...
 ];

Now create a class that extends AbstractValidator in App\Validators;

<?php

namespace App\Validators;

use \ChickenTikkaMasala\LaraValidator\Validators\AbstractValidator;

class CustomValidator extends AbstractValidator
{
    public $name = 'custom';
    
    public function execute($attribute, $value, array $parameters, $validator) : boolean {
        return true;
    }
    
    public function message($message, $attribute, $rule, array $parameters) : string {
        return 'your custom validation failed';
    }
}

Now use your custom validation like

public $rules = [
    'field' => 'custom',
];

Validating parameters

I've added a small exception throwing function that 'validates' the parameters passed.

public function execute($attribute, $value, array $parameters, $validator) : boolean {
    $this->validateParameters($parameters, [
        0 => 'table name',
    ]);
}

Now if we did this with our custom validator

public $rules = [
    'field' => 'custom',
];

We would get an exception

RequiredParameterException in AbstractValidator.php line 40:
The parameter "table name" is required.

Make function

You can use the make:validator command to create a new validator class

php artisan make:validator CustomValidator

And that's pretty much it! It's the simple things ;)

About

Laravel validation service provider to allow creation of validation classes

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages