envatic / laravel-profane
Laravel 粗话验证器
v0.6.0
2022-05-10 03:25 UTC
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-09-10 08:43:53 UTC
README
我制作了这个包,以使用 Laravel 验证服务来执行侮辱性词语的验证。
安装
通过 composer 安装
composer require envatic/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' ]); // ... } }
这解决了您在验证单词如 class
或 analysis
时出现错误的问题,因为它们分别包含 ass
和 anal
,但无法验证像 sucker69
这样的内容。
获取帮助
如果您遇到无法解决的问题或需要报告错误,请在此项目的 GitHub 问题中提交问题。
贡献
如果您有兴趣为此项目贡献代码,请运行以下命令进行克隆
git clone git@github.com:envatic/laravel-profane.git
请阅读CONTRIBUTING 文件。
欢迎 Pull requests,但请确保您提供了单元测试以覆盖您的更改。 您可以帮助添加和支持更多区域!
感谢 @dorianneto 对此项目的贡献。
支持的区域
- 英语(由 @envatic 提供)
- 西班牙语(由 @envatic 和 @xDidier901 提供)
- 意大利语(由 @aletundo 提供)
- 巴西葡萄牙语(由 @ianrodriguesbr 和 @LeonardoTeixeira 提供)
- 繁体中文(由 @Nationalcat 提供)
- 斯洛伐克语(由 @kotass 提供)
- 荷兰语(荷兰)(由 @Cannonb4ll 和 @WouterVanmulken 提供)
- 希腊语(由 @siokas 提供)
- 马拉雅拉姆语(由 @abinodh 提供)
- 俄语(由 @alex2sat 提供)
- 塞尔维亚语(由 @Djuki 提供)
- 菲律宾语(由 @credocleo 提供)
- 罗马尼亚语(由 @rchioreanu 提供)
- 印尼语(由 @rizasaputra 提供)
许可证
本项目是开源软件,根据 MIT 许可证 授权。