PankovAlxndr
@PankovAlxndr
Fullstack web developer

Как использовать один FormRequest для создания и редактировани?

Здравствуйте, подскажите пожалуйста как использовать один FormRequest для создания и редактирования.
я хочу создавать и обновлять employee (сотрудника), используя один массив rules
у меня есть такое правило в моем EmployeeFormRequest

'name' => "required|unique:employees,name,{$this->employee->id}"


имя обязательно, уникально в рамках своей таблицы по имени, не считаю текущего employee.

оно работает при обновлении так как $this->employee через инъекцию уже существует.
но это же правило не работает при создании, тк в котроллере у нас пустой $employee, пока save не сделали.

если убрать правило "на исключение текущего", те так

'name' => "required|unique:employees,name"

то создание записи начинает работать, а изменение нет, что логично. (тк я обновляю допустим не имя у существующей записи, а другое поле, сабмичу форму, он валидирует имя, находит его и не дает обновить)

Возможно как-то использовать один FormRequest для всего (create + update), но сохранить правило уникальности при создании и не включать его при обновлении если нудное мне поле не менялось?
  • Вопрос задан
  • 63 просмотра
Пригласить эксперта
Ответы на вопрос 1
pLavrenov
@pLavrenov
Разработка сайтов
'name' => [
    "required",
    Rule::unique('employees')->ignore($name, 'name')
],


Можно так
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы