mawuekom / laravel-request-sanitizer
Easily sanitize your form data
v1.2.0
2023-09-22 03:16 UTC
Requires
- php: ^7.3|^7.4|^8.0|^8.1|^8.2
- illuminate/http: ^6.0|^7.0|^8.0|^9.0|^10.0
- symfony/http-foundation: ^4.3.4|>=5.1.3
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
Easily sanitize your form data
This package provides an easy way and a fluent interface to sanitize form data.
- The request sanitizer allows you to easily manipulate your form data before any validation or treatment.
- It's also compatible with Laravel's
FormRequest
object.
Installation
You can install the package via composer:
composer require mawuekom/laravel-request-sanitizer
Usage
Syntax is similar to the way rules
are added to a Form Request.
class StoreUserDataRequest extends FormRequest { use InputSanitizer; protected $sanitizers = [ 'name' => [ Uppercase::class, ], 'first_name' => [ CapitalizeEachWords::class, ], 'phone_number' => [ RemoveNonNumeric::class ], ]; }
Available Sanitizers
- Contributions are appreciated!
FilterVars usage
The FilterVars sanitizer acts as a wrapper of the default PHP filter_var
function.
It accepts the same (optional) parameters as the original function.
Both parameters can be either an array
or string
type:
{ protected $sanitizers = [ 'last_name' => [ FilterVars::class => [ 'filter' => FILTER_SANITIZE_STRING, 'options' => FILTER_FLAG_STRIP_BACKTICK ] ] ]; }
Please check PHP Documentation for more information on filter_vars
.
Writing your own Sanitizer
You can write your own sanitizer by implementing the SanitizerContract
interface, which requires only one method.
namespace Mawuekom\RequestSanitizer\Contracts; /** * Request sanitizer contract * * Class DataManagerRepo * * @package Mawuekom\RequestSanitizer\Contracts */ interface SanitizerContract { /** * Sanitize an input and return it. * * @param $input * @return mixed */ public function sanitize($input); }
License
The MIT License (MIT). Please see License File for more information.