У меня есть маршрут с разбивкой на страницы, для которого требуется атрибут perPage. Значение должно быть больше 10, но меньше 100. Если оно не проходит проверку, мой запрос устанавливает для perPage значение 10. Я пробовал это до сих пор, и это работает, но я думаю, что это неправильно. способ сделать это.
почему я считаю, что это неправильно? Потому что если вы отправите строку в атрибуте perPage, она вернет ошибку проверки
class PaginateRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules(): array
{
return [
'perPage' => 'nullable|numeric|min:10|max:100',
];
}
protected function prepareForValidation()
{
$this->merge([
'perPage' => (!isset($this->perPage) || $this->perPage < 10 || $this->perPage > 100) ? 10 : $this->perPage,
]);
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... in-laravel