Laravel 7 "Класс 'App \ Http \ Controllers \ Validator' не найден" - PullRequest
0 голосов
/ 17 марта 2020

Несколько дней go Я начал учиться laravel 7. Я купил курс по удеме. Я добрался до той части, где работала настоящая система реестра, и начал переписывать код, как в видео, но когда я это делаю, я получаю error!

Error Message: "Class 'App\Http\Controllers\Validator' not found"

Я был пытаюсь исправить это часами, а у меня все плохо

AccountController. php

<?php

namespace App\Http\Controllers;

class AccountController extends Controller
{
    public function getcreate(){
        return view('account.create');
    }

    public function postcreate(){
        $validator = Validator::make(Input::all(), 
        array(
            'email'  =>      'required|max:50|email|unique:users',
            'username' =>    'required|max:20|min:3|unique:users',
            'password' =>    'required|min:6',
            'repeat_pass' => 'required|same:password'   
        ));

        if($validator->fails()){
            die('ERROR');
        }
        else{
            die('Cool');
        }
    }
}

Ответы [ 3 ]

0 голосов
/ 17 марта 2020

Вам нужно будет импортировать класс Validator из его правильного пространства имен, которое Illuminate\Support\Facades. Так же и с Input классом. Лучший способ, который я могу предложить, это добавить их в aliases раздел в config\app.php, как показано ниже:

 'aliases' => [
     // other imports
     'Validator' => Illuminate\Support\Facades\Validator::class,
     'Input' => Illuminate\Support\Facades\Input::class,
 ]

Теперь вы можете просто use их в своем контроллере, как показано ниже:

<?php

namespace App\Http\Controllers;
use Validator;
use Input;


class AccountController extends Controller
{
 // rest of your code
}
0 голосов
/ 17 марта 2020

Вы можете использовать Validator пространство имен в вашем контроллере сверху, как:

use Validator;
0 голосов
/ 17 марта 2020

вам нужно импортировать validator пространство имен

use Illuminate\Support\Facades\Validator;

, тогда вместо Input вы можете использовать request()->all() вспомогательную функцию

, так что это будет выглядеть так

namespace App\Http\Controllers;
use Illuminate\Support\Facades\Validator;

class AccountController extends Controller
{
    public function getcreate(){
        return view('account.create');
    }

    public function postcreate(){
        $validator = Validator::make(request()->all(), 
        array(
            'email'  =>      'required|max:50|email|unique:users',
            'username' =>    'required|max:20|min:3|unique:users',
            'password' =>    'required|min:6',
            'repeat_pass' => 'required|same:password'   
        ));

        if($validator->fails()){
            die('ERROR');
        }
        else{
            die('Cool');
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...