laravel-request-sanitizer maintained by mawuekom
Description
Easily sanitize your form data
Author
Last update
2023/09/22 05:16
(dev-main)
License
Downloads
224
Tags
Laravel Request Sanitizer
Easily sanitize your 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
FormRequestobject.
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 |
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.