tadah-dev/laravel-profane

此包已被废弃,不再维护。没有推荐替代包。

Laravel 粗话验证器

v0.5.0 2021-01-11 05:09 UTC

README

Latest Stable Version Total Downloads License Daily Downloads composer.lock StyleCI

我创建了这个包,用于使用Laravel验证服务对粗话进行验证。

安装

通过composer安装

composer require arandilopez/laravel-profane

配置

在您的config/app.php文件中添加ProfaneServiceProvider类。

<?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'
        ]);

        // ...
    }
}

这解决了在验证单词如classanalysis时出现的已知问题,因为它们分别包含assanal,但对于如sucker69的内容则无法通过验证。

获取帮助

如果您遇到某个功能无法正常工作,或需要报告错误,请在此项目的GitHub Issues中提交问题

贡献

如果您有兴趣为该项目贡献代码,请运行以下命令进行克隆:

git clone git@github.com:arandilopez/laravel-profane.git

请阅读CONTRIBUTING文件。

欢迎提交拉取请求,但请确保您提供单元测试以涵盖您的更改。您可以帮忙添加和支持更多区域!

感谢@dorianneto的贡献。

支持的区域

许可证

本项目是开源软件,许可协议为MIT许可证