aminevsky/laravel-validation-rule-formatter

此包已被弃用且不再维护。未建议替代包。

Laravel 验证规则格式化工具

v1.0.1 2020-09-23 08:03 UTC

This package is not auto-updated.

Last update: 2022-10-21 15:41:29 UTC


README

Laravel 验证规则格式化工具

要求

  • PHP ^7.3
  • Laravel ^7.0 | ^8.0

安装

composer require aminevsky/laravel-validation-rule-formatter

功能

格式化传递给 Laravel 验证器的验证规则。

类和方法

ValidationRuleFormatter

addRule()

为指定的属性添加规则。

  • 参数
    • 属性
      • (必需) 字符串
      • 规则应用的属性名
    • 规则名
      • (必需) 字符串
      • 规则名(例如 requiredmax
    • 规则参数
      • (可选) 混合类型,可变参数
      • 规则的参数
  • 返回值
    • 自身(《ValidationRuleFormatter》实例)

format()

返回格式化后的规则。

  • 参数
    • None
  • 返回值
    • 数组
    • 这可以传递给 Laravel 验证器

示例

之前

在没有这个库的情况下,你会这样写

class TodoController extends Controller
{
    const TITLE_MAX_LENGTH = 1000;

    public function store(Request $request)
    {
        $request->validate([
            'title'     => ['required', 'max:' . self::TITLE_MAX_LENGTH],
        ]);

        // ...
    }
}

之后

有了这个库,你可以这样写

class TodoController extends Controller
{
    const TITLE_MAX_LENGTH = 1000;

    public function store(Request $request)
    {
        // Add validation rules.
        $rules = ValidationRuleFormatter::addRule('title', 'required')
            ->addRule('title', 'max', self::TITLE_MAX_LENGTH)
           // Format rules.              
            ->format();

        // Pass formatted rules to default validator.
        $request->validate($rules);

        // ...
    }
}