假设我有 3 种类型的用户,它们都有共同的字段,例如:用户名、电子邮件、密码 .... 等
而且它们每个都有自己的字段,现在我创建添加、更新功能并为这些函数中的每一个创建 FormRequest,这导致我有 6 个 FormRequest,它们都有公共字段的通用规则!
我如何使用例如 StoreUserRequest 并将所有用于存储用户的通用规则放在正确的 FormRequest 中,我希望我能清楚地解释我想要实现的目标。
假设我有 3 种类型的用户,它们都有共同的字段,例如:用户名、电子邮件、密码 .... 等
而且它们每个都有自己的字段,现在我创建添加、更新功能并为这些函数中的每一个创建 FormRequest,这导致我有 6 个 FormRequest,它们都有公共字段的通用规则!
我如何使用例如 StoreUserRequest 并将所有用于存储用户的通用规则放在正确的 FormRequest 中,我希望我能清楚地解释我想要实现的目标。
您可以使用特征来完成此操作,这允许多个类(表单请求)继承指定的共享规则。
创建一个CommonUserRules.php
inapp\Http\Requests
目录:
<?php
namespace App\Http\Requests;
trait CommonUserRules
{
protected function userRules()
{
return [
'name' => 'required',
'password' => 'required',
];
}
}
这将是可以跨多个表单请求共享的规则。
然后在表单请求中使用特征:
use CommonUserRules;
然后,您可以相应地附加并定义您的独特规则:
public function rules()
{
return array_merge($this->userRules(), [
'individual_rule' => 'required',
'another_individual_rule' => 'required',
]);
}