Как я могу использовать несколько правил проверки в качестве основы для нескольких запросов проверки в Laravel
Допустим, у меня есть 3 типа пользователей, и все они имеют общие поля, например: имя пользователя, адрес электронной почты, пароль и т. Д.
И у каждого из них есть свои собственные поля, теперь я создаю функции добавления, обновления и создаю FormRequest для каждой из этих функций, что приводит меня к 6 FormRequest, и все они имеют общие правила для общих полей!
Как я могу использовать, например, StoreUserRequest и поместить все общие правила для хранения User и поместить отдельные правила в правильный FormRequest, я надеюсь, что смогу четко объяснить, чего я пытаюсь достичь.
1 ответ
Для этого вы можете использовать трейты, это позволяет нескольким классам (запросам формы) наследовать указанные общие правила.
Создать CommonUserRules.php
в app\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',
]);
}