Существует несколько способов сделать это внутри метода контроллера или использовать для меня классы запросов Laravels. Я предпочитаю использовать классы запросов
. Посмотрите ниже. Я приведу два примера
* 1004.*
Проверка внутри метода контроллера
public function test(Request $request){
if($request->filled('name){
/*filled will check that name is set on the current
request and not empty*/
//Do your logic here
}
}
Второй способ - использование фасада Validator внутри вашего контроллера
use Validator;
class TestController{
public function test(Request $request){
$validator = Validator::make($request->all(), [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
]);
/*continue with your logic here if the request failed on
validator test Laravel will automatically redirect back
with errors*/
}
}
Третий способ, мой любимый лично
. Вы можете сгенерировать класс Request с помощью этой команды
php artisan make:request AddBookRequest
, которая сгенерирует класс запроса в «app / Http / Requests / AddBookRequest»,внутри любого сгенерированного класса запроса вы найдете два метода authorize () и rules ()
. В авторизованном методе вы должны вернуть значение true или false, которое будет обнаружено, если текущий пользователь делаетзапрос имеет разрешение на запуск этого запроса в методе правил, который вы выполняете почти так же, как во втором способе проверки, проверьте пример
public function authorize(){
return true;
}
public function rules(){
return [
'title' => 'required|string',
'author_id' => 'required|integer'
];
}
тогда просто в вашем контроллере вы можете использовать сгенерированный запрос следующим образом:
use App\Http\Requests\AddBookRequest;
public function store(AddBookRequest $request){
/* do your logic here since we uses a request class if it fails
then redirect back with errors will be automatically returned*/
}
Надеюсь, это поможет вам узнать больше о проверке в https://laravel.com/docs/5.6/validation