Контроллер и запрос в Laravel в моем случаеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Контроллер и запрос в Laravel в моем случае

Сообщение Anonymous »

Я хотел бы использовать FormRequest, предоставленный Laravel, для проверки запроса, но столкнулся с некоторыми головоломками (которые, я уверен, легко решить, если у вас есть опыт работы с Laravel).
Вот что я пробовал:
У меня есть карты маршрутов к контроллеру:

Код: Выделить всё

Route::put('user/{name}', 'UserController@show');
Я могу получить параметр name в функции show:

Код: Выделить всё

class UserController {
public function show($name)
{
// validtion rules to apply
...
}
}
У меня есть правила проверки, применимые к запросу, поэтому я решил создать запрос формы с помощью php artisan make:request ShowRequest, который создает класс запроса формы:

Код: Выделить всё

class ShowRequest extends FormRequest {
public function authorize()
{
return true;
}

public function rules()
{
return [
// my validation rules here
];
}
}
Поскольку у меня есть указанный выше класс запроса, я реорганизовал функцию show в контроллере, чтобы получить ShowRequest .

Код: Выделить всё

class UserController {
public function show(ShowRequest $request)
{
// now I don't need validtion rules in this function
// but how can I access the 'name' parameter now
...
}
}
У меня есть два вопроса:
  • Внутри реорганизованной функции show, как могу ли я теперь получить доступ к имени параметра маршрута ?
  • Если мы забудем о параметре, это имя (пожалуйста, не фокусируйтесь на о том, какое имя проверять, представляя, что это объект или значение для проверки в целом). Как добавить собственную логику для обработки ошибок проверки вместо использования поведения Laravel по умолчанию. Я хочу внедрить код, подобный приведенному ниже фиктивному коду:

Код: Выделить всё

if (!$validator->pass())
{
//my custom code for handling validation failure
}
Где теперь разместить собственный код для обработки ошибок проверки? Я имею в виду, что не знаю, где разместить эту логику, в контроллере? в классе запроса? как?

Подробнее здесь: https://stackoverflow.com/questions/697 ... in-my-case
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»