Как мне поместить мою логику проверки в FormRequest, зная, что моим правилам проверки нужны переменные, установленные контроллером?
public function store()
{
$commentable = Comment::getCommentable(request('input1'), request('input1'));
// I need this $commentable above in my validator below!
$this->validate(request(),[
'commentable_type' => 'required|string|alpha', // Post
'commentable_id' => 'required|uuid|exists:' . plural_from_model($commentable) . ',' . $commentable->getKeyName(),
'body' => 'required|string|min:1',
]);
// ...
}
Вот мой фактический код: https://i.imgur.com/3bb8rgI.png
Я хочу привести в порядок метод store () моего контроллера, переместив validate () в FormRequest. Однако, как вы можете видеть, ему нужна переменная $ commentable, которая извлекается контроллером.
Полагаю, я мог бы сделать так, чтобы FormRequest мог также извлекать эту переменную сама, но это было быужасный дубликат (так как это также проверило бы базу данных дважды ...). Так что это совсем не хорошее решение.
Есть идеи? Приветствия.