在测试 api/register 的 post 请求时,我在 postman 中收到以下错误。
“错误:无法使用 IlluminateValidationValidator 类型的对象作为文件 C:Usersazzamlaravel-appazzamnewapiappHttpControllersAuthController.php 第 25 行中的数组”
这是我的 AuthController 代码:
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesAuth; use IlluminateSupportFacadesValidator; use AppModelsUser; use LaravelSanctumPersonalAccessToken; class AuthController extends Controller { public function register(Request $request) { //validation field $validUser=Validator::make($request->all(), [ 'name'=> 'required|string', 'email'=> 'required|email', 'password'=> 'required|string', ]); //create user $user= User::create([ 'name'=> $validUser['name'], 'email'=> $validUser['email'], 'password'=> bcrypt($validUser['password']), ]); //response return response([ 'user'=> $user, 'token'=> $user->createToken('secret')->plainTextToken, ], 200); } public function logout(Request $request) { //user $user= User::find(PersonalAccessToken::findToken(explode(' ',$request->header('Authorization'))[1])->tokenable_id); //delete token $user->tokens()->delete(); //reponse return response([ 'message'=> 'logout success', ], 200); } }
谁能告诉我错误在哪里,以及如何查看 $validUser 变量?谢谢。
$validUser=Validator::make
是一个验证器实例。要验证并获取经过验证的输入,您可以执行以下操作:
如果您必须使用手动创建的验证器实例,您可以执行以下操作:
这些应该适用于 Laravel 8+