askedio/laravel-validator-filter

Filter items before validating them with Laravels Validator

5.2 2018-04-20 15:46 UTC

This package is auto-updated.

Last update: 2024-11-12 09:45:43 UTC


README

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