envatic/laravel-profane

Laravel 粗话验证器

v0.6.0 2022-05-10 03:25 UTC

README

Latest Version on Packagist Software License run-tests Total Downloads Check & fix styling

我制作了这个包,以使用 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'
        ]);

        // ...
    }
}

这解决了您在验证单词如 classanalysis 时出现错误的问题,因为它们分别包含 assanal,但无法验证像 sucker69 这样的内容。

获取帮助

如果您遇到无法解决的问题或需要报告错误,请在此项目的 GitHub 问题中提交问题

贡献

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

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

请阅读CONTRIBUTING 文件。

欢迎 Pull requests,但请确保您提供了单元测试以覆盖您的更改。 您可以帮助添加和支持更多区域!

感谢 @dorianneto 对此项目的贡献。

支持的区域

许可证

本项目是开源软件,根据 MIT 许可证 授权。