krdinesh / laravel-profane
Laravel Profanity Validator
Requires
- illuminate/support: >=5.2
Requires (Dev)
- mockery/mockery: ^1.3
- phpunit/phpunit: ^8.0
README
I made this package to perform a validation for swearwords using Laravel validation service.
Installation
Install via composer
composer require krdinesh/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') ]); // ... } }
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:arandilopez/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 @arandilopez )
- Spanish ( provided by @arandilopez and @xDidier901)
- Italian ( provided by @aletundo )
- Brazilian Portuguese ( provided by @ianrodriguesbr )
- 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.