Используя FormRequest
, как мне подчинить правила одного поля значению другого поля.Я знаю, что мог бы использовать помощник request()
, чтобы получить данные, как показано ниже, но тогда они не пройдут в моих тестах.
return [
'deposit' => 'sometimes|int|min:100|max:' . request->get('price) * 0.15,
'price' => 'required|int|min:1000',
];
Я копался в источнике класса FormRequest
, гдеявляется функцией с именем `validationData ().Однако это возвращает пустой массив в моих тестах.
Вот как я тестирую мой FormRequest
:
$request = new InvoiceRequest;
$validator = \Validator::make($data, $request->rules());
$results = $validator->errors()->has($key);
Поскольку request->get('price)
всегда будет `нулем, поле депозита будетМаксимальное значение 0 в моих тестах, в то время как в контроллере он получит цену * 0,15, как и должно быть.
Есть ли способ добиться этого в тестах?