askedio/laravel-validator-filter

Filter items before validating them with Laravels Validator
18 3
Install
composer require askedio/laravel-validator-filter
Latest Version:5.2
PHP:>=5.5.9
License:MIT
Last Updated:Apr 27, 2018
Links: GitHub  ·  Packagist
Maintainer: gcphost

Laravel Validator Filter

Filter items before your validate them with Laravel 5s Validator.

Values will be filtered based on the function you provide. If the parameter exists in the request it will also be replaced.

Build Status Codacy Badge Codacy Badge StyleCI

Installation

composer require askedio/laravel-validator-filter

Add the following to the providers array in config/app.php:

Askedio\LaravelValidatorFilter\FilterServiceProvider::class

Examples

You can use any function that is callable and accepts the value as the parameter.

$validator = app('validator')->make([
  'string' => 'Hello ' . PHP_EOL . ' World',
], [
  'string' => 'filter:strip_tags,nl2br',
]);

$validator->passes();

dd($validator->getData());

You can use a function with parameters in line. () = [] & , = ;.

$validator = app('validator')->make([
  'string' => 'Hello <br> World<p></p>',
], [
  'string' => 'filter:strip_tags[{$value}; "<br>"]',
]);

$validator->passes();

dd($validator->getData());

You can also define your own custom filter.

app('filter')->register('plusOne', function ($value) {
    return $value+1;
});

$validator = app('validator')->make([
  'int' => '<br>1',
], [
  'int' => 'filter:strip_tags,plusOne',
]);

$validator->passes();

dd($validator->getData());