evo-mark / evo-laravel-profanity
Use Pest's profanity wordlist in your validator
                                    Fund package maintenance!
                                                                            
                                                                                                                                        craigrileyuk
                                                                                    
                                                                
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/evo-mark/evo-laravel-profanity
Requires
- php: ^8.2
 - illuminate/contracts: ^11.0||^12.0
 - spatie/laravel-package-tools: ^1.16
 - wikimedia/aho-corasick: ^2.0
 
Requires (Dev)
- laravel/pint: ^1.14
 - nunomaduro/collision: ^8.8
 - orchestra/testbench: ^10.0.0||^9.0.0
 - pestphp/pest: ^4.0
 - pestphp/pest-plugin-arch: ^4.0
 - pestphp/pest-plugin-laravel: ^4.0
 
Conflicts
- laravel/framework: <10.0
 
README
Evo Laravel Profanity
This package provides a profanity validation rule that draws on the words made available in the Pest Profanity package.
Installation
You can install the package via composer:
composer require evo-mark/evo-laravel-profanity
You can publish the config file with:
php artisan vendor:publish --tag="evo-laravel-profanity-config"
Finally, to download/update the profanity definitions, add this to the composer.json file at the root of your project:
"scripts": { "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan profanity:update" ], }
Caution
Failure to add the above will result in validation not running with the rule.
Usage
The validator uses your current locale for determining which profanity words to check against. Alternatively, you can set this manually in your config file. See the Pest repository for available locales.
To use the validator, simply include the profanity rule in your ruleset.
You can include/exclude additional words by publishing the config and adding them there, e.g.
return [ 'includingWords' => [ 'en' => ['soccer'] ], 'excludingWords' => [ 'en' => [] ] ];
On failure, the validator will return the message in your lang/{locale}/validation file under the profanity property.
public function store(Request $request) { $validated = $request->validate([ 'email' => ['required', 'string', 'email'], 'first_name' => ['required', 'string', 'profanity'], ]); }
Support Open-Source Software
We're providing this package free-of-charge. However, all development and maintenance costs time, energy and money. So please help fund this project if you can.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Licence
The MIT Licence (MIT). Please see Licence File for more information.