wessama/laravel-pretty-validation-messages

一个简单的特质,用于为 Laravel 表单请求动态设置验证消息

v1.0.1 2023-10-08 23:02 UTC

This package is auto-updated.

Last update: 2024-09-09 01:20:07 UTC


README

Latest Version on Packagist Total Downloads

Laravel Pretty Validation Messages 是一个 Laravel 包,提供了一个特质,允许 FormRequests 使用翻译字符串进行验证消息。

安装

您可以通过 composer 安装此包

composer require wessama/laravel-pretty-validation-messages

或者,您可以直接将其添加到您的 composer.json 文件中

{
    "require": {
        "wessama/laravel-pretty-validation-messages": "^1.0"
    }
}

否则,您可以克隆仓库,并手动将特质包含到您的 FormRequests 中。

用法

安装后,在您的 FormRequest 类中使用 HasPrettyValidationMessages 特质

// app/Http/Requests/YourFormRequest.php

use WessamA\LaravelPrettyValidationMessages\HasPrettyValidationMessages;

class YourFormRequest extends FormRequest
{
    use HasPrettyValidationMessages;

    // Your rules and other FormRequest logic here...
}

设置与预期模式匹配的本地化字符串键。

整个点是不必为您的项目中每个 FormRequest 重复编写 message() 方法。相反,您可以将此特质插入到任何 FormRequest 中,并自动使用您已定义的翻译字符串。

特质将寻找以下模式的翻译字符串

validation.{fqcn}.{field}.{rule}

其中 {fqcn}FormRequest 的完全限定类名,{field} 是正在验证的 FormRequest 的名称,{rule} 是验证规则的名称。

例如,以下 FormRequest

class StoreUserDetailsRequest extends FormRequest
{
    // ...
}

您的翻译字符串将如下所示

// /lang/en/validation.php

return [
        \App\Http\Requests\Form\StoreUserDetails::class => [
            'email' => [
                'required' => 'Email address is required',
                'email'   => 'Email address looks weird, innit?',
                // add more rules here...
            ],
            'password' => [
                'required' => 'Password is required',
                // add more rules here...
            ],
        ],
];

测试

您可以使用以下命令运行测试

    composer test

鸣谢

  • Wessam Ahmed

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件