arandilopez/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

配置

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

        // ...
    }
}

这解决了当您对包含 assclass 或包含 analanalysis 等单词进行验证时出现的已知问题,因为这些单词分别包括 assanal,但无法对类似 sucker69 的内容进行验证。

获取帮助

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

贡献

如果您对向该项目贡献代码感兴趣,请通过运行以下命令克隆它:

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

请阅读CONTRIBUTING 文件。

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

感谢 @dorianneto 的贡献。

支持的区域设置

许可证

本项目是开源软件,遵循MIT许可证