pyxeel/merge_rules

此包的最新版本(v1.0)没有提供许可证信息。

安装: 54

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 1

分支: 0

开放问题: 0

类型:项目

v1.0 2019-11-09 01:52 UTC

This package is auto-updated.

Last update: 2024-09-14 06:59:49 UTC


README

MergeRequest 是一个 Laravel 包,用于合并模型间的规则,并在请求验证中使用这些规则。

入门指南

以下是一个基本示例,说明如何使用此包

先决条件

拥有 Laravel 项目 5+ 和 composer

安装

1- 首先使用 composer 下载此包

composer require ralcorta/merge_rules

2- 第二步,现在我们可以使用

MergeRules::merge([$rules, "prefix"], $moreRules);

示例

1- 下载包

composer require ralcorta/merge_rules

2- 现在,我们将创建两个模型以合并规则

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class ModelOne extends Model
{
    public static $rules = [
        'date' => 'date|required',
        'description' => 'string|nullable'
    ];
    
    public static function rules()
    {
        return self::$rules;
    }
}
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class ModelTwo extends Model
{
    public static $rules = [
        'name' => 'string|required',
        'doc' => 'numeric|required'
    ];
    
    public static function rules()
    {
        return self::$rules;
    }
}

3- 创建一个自定义请求

php artisan make:request CustomRequest

4- 现在我们可以像这样合并规则

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class CustomRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return MergeRules::merge([ModelOne::rules(), "ModelOne"], ModelTwo::rules());
    }
}

输出

array:5 [▼
  "ModelOne" => "required|array"
  "ModelOne.date" => "date|required"
  "ModelOne.description" => "string|nullable"
  "name" => "string|required"
  "doc" => "numeric|required"
]

许可证

本项目采用 MIT 许可证 - 有关详细信息,请参阅LICENSE 文件