chickentikkamasala/laravalidator

There is no license information available for the latest version (0.2) of this package.

Validation service provider.

0.2 2017-06-25 19:00 UTC

This package is not auto-updated.

Last update: 2024-03-17 01:06:15 UTC


README

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 ;)