arandilopez / laravel-profane
Laravel 不雅词汇验证器
v0.5.0
2021-01-11 05:09 UTC
Requires
- illuminate/support: >=5.2|^6.0|^7.0|^8.0
Requires (Dev)
- mockery/mockery: ^1.3
- phpunit/phpunit: ^8.0|^8.5
This package is auto-updated.
Last update: 2024-09-11 13:07:28 UTC
README
我制作了这个包,以便使用 Laravel 验证服务对不雅词汇进行验证。
安装
通过 composer 安装
composer require arandilopez/laravel-profane
配置
将 ProfaneServiceProvider
类添加到您的 config/app.php
文件中。
<?php return [ // ... 'providers' => [ // ... LaravelProfane\ProfaneServiceProvider::class, ]; // ... ];
如果您需要替换为自己的语言,请发布供应商语言文件。
php artisan vendor:publish
用法
此包注册了一个自定义验证器。您可以在控制器的 validate
函数中使用它。
<?php // ... class MyController extends Controller { public function store(Request $request) { $this->validate($request, [ 'username' => 'required|profane' ]); // ... } }
验证器将加载您的 config/app.php
文件配置中的默认区域设置,该区域设置为 en
。 如果您的区域设置不受支持,请为该项目提交一个问题
如果您想使用其他词典,可以将它们作为参数传递给验证器。
<?php // ... class MyController extends Controller { public function store(Request $request) { $this->validate($request, [ 'username' => 'required|profane:es,en' ]); // ... } }
您还可以发送一个参数,该参数是文件路径,该文件是字典,用于替换默认字典或 添加不受支持的区域设置。
<?php // ... class MyController extends Controller { public function store(Request $request) { $this->validate($request, [ 'username' => 'required|profane:es,en,'.resource_path('lang/fr/dict.php') ]); // ... } }
严格验证
现在您可以对内容中的确切不雅词汇进行严格验证。
<?php // ... class MyController extends Controller { public function store(Request $request) { $this->validate($request, [ 'username' => 'required|strictly_profane:es,en' ]); // ... } }
这解决了当您对包含 ass
的 class
或包含 anal
的 analysis
等单词进行验证时出现的已知问题,因为这些单词分别包括 ass
和 anal
,但无法对类似 sucker69
的内容进行验证。
获取帮助
如果您在某个功能无法正常工作或需要报告错误时遇到困难,请在此项目的 Github 问题上提交问题。
贡献
如果您对向该项目贡献代码感兴趣,请通过运行以下命令克隆它:
git clone git@github.com:arandilopez/laravel-profane.git
请阅读CONTRIBUTING 文件。
欢迎提交拉取请求,但请确保您提供了单元测试以覆盖您的更改。您可以帮助添加和支持更多区域设置!
感谢 @dorianneto 的贡献。
支持的区域设置
- 英语(由 @arandilopez 提供)
- 西班牙语(由 @arandilopez 和 @xDidier901 提供)
- 意大利语(由 @aletundo 提供)
- 巴西葡萄牙语(由 @ianrodriguesbr 和 @LeonardoTeixeira 提供)
- 繁体中文(由 @Nationalcat 提供)
- 斯洛伐克语(由 @kotass 提供)
- 荷兰语(荷兰)(由 @Cannonb4ll 和 @WouterVanmulken 提供)
- 希腊语(由 @siokas 提供)
- 马拉雅拉姆语(由 @abinodh 提供)
- 俄语(由 @alex2sat 提供)
- 塞尔维亚语(由 @Djuki 提供)
- 菲律宾语(由@credocleo提供)
- 罗马尼亚语(由@rchioreanu提供)
- 印尼语(由@rizasaputra提供)
许可证
本项目是开源软件,遵循MIT许可证。