Tidak boleh menggunakan objek jenis Illuminate\Validation\Validator sebagai tatasusunan
P粉930448030
P粉930448030 2023-12-12 11:40:54
0
1
478

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粉930448030
P粉930448030

membalas semua(1)
P粉427877676

$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+

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!