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
Sanitizer | Description |
---|---|
Capitalize |
Capitalizes the first character of a string |
CapitalizeEachWords |
Capitalizes each first character of a new word in a string |
Cast |
Casts a variable into the given type. |
EscapeHTML |
Remove HTML tags and encode special characters from the given string. |
FilterVars |
Simple PHP filter_var sanitizer |
Lowercase |
Converts a string to lowercase |
RemoveNonNumeric |
Removes any non numeric character |
StripTags |
Strip HTML and PHP tags using php's strip_tags() |
Trim |
Trims a string using php's trim() |
TrimDuplicateSpaces |
Replaces duplicate spaces with a single space. |
Uppercase |
Converts a string to uppercase |
- 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.