[英]Laravel 7 "Class 'App\Http\Controllers\Validator' not found"
A few days ago I started learning laravel 7. I bought a course on udemy.前几天开始学习laravel 7,买了udemy的课程。 I got to the part where the real registry system went and started to rewrite the code like in the video, but when I do it I get an error
!我到了真正的注册表系统所在的部分,并开始像视频中那样重写代码,但是当我这样做时,我得到了一个error
!
Error Message: "Class 'App\Http\Controllers\Validator' not found"
I've been trying to fix this for hours, and I'm not doing well我已经尝试解决这个问题好几个小时了,但我做得不好
AccountController.php账户控制器.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');
}
}
}
you need to import validator
namespace您需要导入validator
命名空间
use Illuminate\Support\Facades\Validator;
then instead of Input
you could use request()->all()
helper function那么你可以使用request()->all()
辅助函数代替Input
so it will be like this所以它会是这样的
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');
}
}
}
You will need to import the Validator
class from it's correct namespace which is Illuminate\\Support\\Facades
.您需要从正确的命名空间Illuminate\\Support\\Facades
导入Validator
类。 So goes with Input
class. Input
类也是如此。 Best way I can suggest is to add these in aliases
section in config\\app.php
like below:我建议的最好方法是将这些添加到config\\app.php
aliases
部分,如下所示:
'aliases' => [
// other imports
'Validator' => Illuminate\Support\Facades\Validator::class,
'Input' => Illuminate\Support\Facades\Input::class,
]
Now, you can simply use
them in your controller like below:现在,您可以简单地在控制器中use
它们,如下所示:
<?php
namespace App\Http\Controllers;
use Validator;
use Input;
class AccountController extends Controller
{
// rest of your code
}
您可以在顶部的控制器中使用Validator
命名空间,例如:
use Validator;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.