laravel 5.1でログインおよび登録ページを作成するときに、このエラーが発生するのを助けてください。
FatalErrorException in AuthController.php line 44:
Class 'App\Validator' not found
ここに私のAuthController.phpがあります
<?php
namespace App\Http\Controllers\Auth;
use App\User;
use App\Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller
{
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
use AuthenticatesAndRegistersUsers, ThrottlesLogins;
/**
* Create a new authentication controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'getLogout']);
}
/**
* Get a validator for an incoming registration request.
*
* @param array $data
* @return \Illuminate\Contracts\Validation\Validator
*/
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6',
]);
}
/**
* Create a new user instance after a valid registration.
*
* @param array $data
* @return User
*/
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);
}
}
と私のレジスタビュー
<!-- resources/views/auth/register.blade.php -->
<form method="POST" action="/QADapps/auth/register">
{!! csrf_field() !!}
<div>
Name
<input type="text" name="name" value="{{ old('name') }}">
</div>
<div>
Email
<input type="email" name="email" value="{{ old('email') }}">
</div>
<div>
Password
<input type="password" name="password">
</div>
<div>
Confirm Password
<input type="password" name="password_confirmation">
</div>
<div>
<button type="submit">Register</button>
</div>
</form>
すべてのコードはlaravelドキュメンテーションからのものです。そのため、失敗の理由がわかりません。エラーが発生する場所を確認してください。ありがとうございます
これも私のルートコントローラーです
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');
追伸私のアプリは http:// localhost:8080/QADapps/auth/register のドメインの下にあります==そのため問題はありますか?また、index.phpと.htaccessをパブリックからルートディレクトリに移動します
あなたは実際にこれのどちらかが必要です:
use Validator;
またはこれ:
use Illuminate\Support\Facades\Validator;
Illuminate\Validation\Validatorは、機能を含む基本クラスですが、静的メソッドを使用するには、ファサードクラスを取得する必要があります。
ファサードクラスIlluminate\Support\Facades\Validatorは、config/app.phpでValidatorにエイリアスされています
ここで遅れるかもしれませんが、後で誰かを助けるかもしれません、これは節約するものですuse Illuminate\Validation\Rule;
illuminate\Support\Facades\Inputを使用します。
illuminate\Support\Facades\Redirectを使用してください。
そして
$ validator =\Validator :: make(Input :: all()、$ rules);