Multi database architecture with class to switch current database connection laravel framework.
Require this package with composer:
composer require "dharmvijay/laravel-sanitize @dev"
[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
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