envatic / laravel-profane
Laravel Profanity Valitador
Requires
- illuminate/support: >=5.2|^6.0|^7.0|^8.0|^9.0
Requires (Dev)
- mockery/mockery: ^1.3
- phpunit/phpunit: ^8.0|^8.5|^9.5.10
This package is auto-updated.
Last update: 2024-11-10 09:06:07 UTC
README
I made this package to perform a validation for swearwords using Laravel validation service.
Installation
Install via composer
composer require envatic/laravel-profane
Configuration
Add the ProfaneServiceProvider
class in your config/app.php
file.
<?php return [ // ... 'providers' => [ // ... LaravelProfane\ProfaneServiceProvider::class, ]; // ... ];
Publish vendor lang files if you need to replace by your own.
php artisan vendor:publish
Usage
This package register a custom validator. You can use in your controller's validate
function.
<?php // ... class MyController extends Controller { public function store(Request $request) { $this->validate($request, [ 'username' => 'required|profane' ]); // ... } }
The validator will load the default locale in your config/app.php
file configuration which by is en
. If your locale is not supported, please post an issue for this project
If you want to use others dictionaries you can pass them as parameters in the validator.
<?php // ... class MyController extends Controller { public function store(Request $request) { $this->validate($request, [ 'username' => 'required|profane:es,en' ]); // ... } }
You can also send as parameter a path of a file which is a dictionary in order to replace the default dictionary or add a new non supported locale.
<?php // ... class MyController extends Controller { public function store(Request $request) { $this->validate($request, [ 'username' => 'required|profane:es,en,'.resource_path('lang/fr/dict.php') ]); // ... } }
Strict validation
Now you can strictly validate the exact profane word in the content.
<?php // ... class MyController extends Controller { public function store(Request $request) { $this->validate($request, [ 'username' => 'required|strictly_profane:es,en' ]); // ... } }
This fixes known issues when you get a error in validation for words like class
or analysis
, as they include ass
and anal
respectively, but fails the validation for content like sucker69
.
Getting Help
If you're stuck getting something to work, or need to report a bug, please post an issue in the Github Issues for this project.
Contributing
If you're interesting in contributing code to this project, clone it by running:
git clone git@github.com:envatic/laravel-profane.git
Please read the CONTRIBUTING file.
Pull requests are welcome, but please make sure you provide unit tests to cover your changes. You can help to add and support more locales!
Thanks to @dorianneto for his contributions.
Supported Locales
- English ( provided by @envatic )
- Spanish ( provided by @envatic and @xDidier901)
- Italian ( provided by @aletundo )
- Brazilian Portuguese ( provided by @ianrodriguesbr and @LeonardoTeixeira)
- Traditional Chinese ( provided by @Nationalcat )
- Slovak ( provided by @kotass )
- Dutch (Netherlands) ( provided by @Cannonb4ll and @WouterVanmulken)
- Greek ( provided by @siokas )
- Malayalam ( provided by @abinodh )
- Russian ( provided by @alex2sat )
- Serbian ( provided by @Djuki )
- Filipino ( provided by @credocleo )
- Romanian ( provided by @rchioreanu )
- Indonesian ( provided by @rizasaputra )
License
This project is open-sourced software licensed under the MIT license.