128 lines
3.9 KiB
Markdown
128 lines
3.9 KiB
Markdown
# Laravel Profanity Validator
|
|
|
|
[](https://packagist.org/packages/arandilopez/laravel-profane)
|
|
[](https://packagist.org/packages/arandilopez/laravel-profane)
|
|
[](https://packagist.org/packages/arandilopez/laravel-profane)
|
|
[](https://packagist.org/packages/arandilopez/laravel-profane)
|
|
[](https://packagist.org/packages/arandilopez/laravel-profane)
|
|

|
|
|
|
I made this package to perform a validation for swearwords using Laravel validation service.
|
|
|
|
## Installation
|
|
|
|
Install via composer
|
|
```shell
|
|
composer require arandilopez/laravel-profane
|
|
```
|
|
|
|
## Configuration
|
|
Add the `ProfaneServiceProvider` class in your `config/app.php` file.
|
|
|
|
```php
|
|
<?php
|
|
return [
|
|
// ...
|
|
|
|
'providers' => [
|
|
// ...
|
|
LaravelProfane\ProfaneServiceProvider::class,
|
|
];
|
|
|
|
// ...
|
|
];
|
|
```
|
|
|
|
Publish vendor lang files if you need to replace by your own.
|
|
|
|
```shell
|
|
php artisan vendor:publish
|
|
```
|
|
|
|
## Usage
|
|
|
|
This package register a custom validator. You can use in your controller's `validate` function.
|
|
|
|
```php
|
|
<?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](https://github.com/arandilopez/laravel-profane/issues)**
|
|
|
|
If you want to use others dictionaries you can pass them as parameters in the validator.
|
|
|
|
```php
|
|
<?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
|
|
<?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](https://github.com/arandilopez/laravel-profane/issues).
|
|
|
|
## Contributing
|
|
If you're interesting in contributing code to this project, clone it by running:
|
|
|
|
```shell
|
|
git clone git@github.com:arandilopez/laravel-profane.git
|
|
```
|
|
|
|
Please read the [CONTRIBUTING](CONTRIBUTING.md) 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](https://github.com/dorianneto) for his contributions.*
|
|
|
|
### Supported Locales
|
|
- English
|
|
- Spanish
|
|
- Italian ( provided by [@aletundo](https://github.com/aletundo) )
|
|
- Brazilian Portuguese ( provided by [@ianrodriguesbr](https://github.com/ianrodriguesbr) )
|
|
- Traditional Chinese ( provided by [@Nationalcat](https://github.com/Nationalcat) )
|
|
- Slovak ( provided by [@kotass](https://github.com/kotass) )
|
|
- Dutch (Netherlands) ( provided by [@Cannonb4ll](https://github.com/Cannonb4ll) )
|
|
- Greek ( provided by [@siokas](https://github.com/siokas) )
|
|
|
|
## License
|
|
This project is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).
|