Rumah > Soal Jawab > teks badan
Semasa menguji permintaan pos untuk api/daftar, saya menerima ralat berikut dalam posmen.
"Ralat: Tidak boleh menggunakan objek jenis IlluminateValidationValidator sebagai tatasusunan dalam fail C:Usersazzamlaravel-appazzamnewapiappHttpControllersAuthController.php pada baris 25"
Ini ialah kod AuthController saya:
<?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); } }
Bolehkah sesiapa memberitahu saya di mana ralatnya dan cara melihat pembolehubah $validUser? Terima kasih.
P粉4278776762023-12-13 10:50:24
$validUser=Validator::make
ialah contoh pengesah.
Untuk mengesahkan dan mendapatkan input yang disahkan, anda boleh melakukan perkara berikut:
$validUser = $request->validate([ 'name'=> 'required|string', 'email'=> 'required|email', 'password'=> 'required|string', ]);
Jika anda mesti menggunakan contoh pengesah yang dibuat secara manual, anda boleh melakukan perkara berikut:
$validUser = Validator::make($request->all(), [ 'name'=> 'required|string', 'email'=> 'required|email', 'password'=> 'required|string', ])->safe()->all();
Ini sepatutnya berfungsi pada Laravel 8+