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.
You can install the package via composer:
composer require mawuekom/laravel-request-sanitizer
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
],
];
}
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!
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
.
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);
}
The MIT License (MIT). Please see License File for more information.