dharmvijay / laravel-sanitize
laravel framework request sanitize.
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 2
Open Issues: 0
Type:helper
Requires
- php: >=5.5.9
- laravel/framework: 5.*
Requires (Dev)
- phpunit/phpunit: 5.3.*
This package is auto-updated.
Last update: 2024-05-07 21:11:20 UTC
README
Multi database architecture with class to switch current database connection laravel framework.
Installation
Require this package with composer:
composer require "dharmvijay/laravel-sanitize @dev"
Filter types list
[1]: trim
//Sanitize trim
[2]: integers
//Sanitize integers
[3]: float
//Sanitize float
[4]: strings
//Sanitize strings
[5]: emails
//Sanitize emails
[6]: url
//Sanitize url
[7]: encoded
//Sanitize encoded
[8]: alnum
//Sanitize alnum - Strips non-alphanumeric characters from the value.
[9]: word
//Sanitize word
[10]: alpha
//Sanitize alpha - Strips non-alphabetic characters from the value.
[11]: booleans
//Sanitize booleans
[12]: datetime
//Sanitize datetime - default date-time formate : Y-m-d H:i:s
[13]: uppercase
//Sanitize uppercase
[14]: lowercase
//Sanitize lowercase
[15]: ucfirst
//Sanitize ucfirst
[16]: lcfirst
//Sanitize lcfirst
[17]: html
//Sanitize html
[18]: slug
//Sanitize slug
[18]: special_chars
//Sanitize special_chars
Usage
1.Use SanitizedRequest trait in your any request file
use SanitizedRequest;
2.Create a protected variable and name it $filters. Here declare field names in filter type keys.
protected $filters = [ 'strings' => ['field_name1', 'field_name2', ...], 'integers' => ['field_name1', ...], 'emails' => ['field_name1', ...], 'booleans' => ['field_name2' ....], '...more filter types ...' ];
3. Use sanitize method in rules method same as below.
public function rules() { $this->sanitize(parent::all(), $this->filters); //Some Rules here }
Example Full File
<?php namespace App\Http\Requests\API\v4; use App\Models\Users; use Illuminate\Foundation\Http\FormRequest; use Dharmvijay\LaravelSanitize\SanitizedRequest; class CreateUsersRequest extends FormRequest { use SanitizedRequest; protected $filters = [ 'strings' => ['username'], 'integers' => ['created_by'], 'emails' => ['email'], 'booleans' => ['status'], ]; /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { $this->sanitize(parent::all(), $this->filters); $createRules = Users::$rules; $createRules['email'] = 'required|unique:users,email'; return $createRules; } }
That's it. Thanks for considering, Welcome contributions, Contact me - dbp264@gmail.com