Laravel: Validation



我正在尝试使用laravel的验证器,但它显示了一个错误,说"找不到类‘App\Http\Controllers\validator’"。这真的是因为我必须创建Validator类吗?如果是这样,那么我该怎么做呢?请帮忙。这是我的密码。

web.php

<?php
use IlluminateSupportFacadesRoute;
Route::get('/', function () {
return view('login');
});
Route::post('/home', 'loginController@doLogin');

loginControlroller.php

<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
class loginController extends Controller
{
//
public function doLogin(){
$rules=array(
'email' => 'required|email',
'password' => 'required|alphaNum|min:3'
);
$validator=Validator::make(Input::all(), $rules);
if($validator->fails()){
return Redirect::to('login')
->withErrors($validator)
->withInput(Input::except('password'));
}else{
$userdata=array(
'email' => Input::get('login-email'),
'password' => Input::get('login-password')
);
return view('halamanUtama');
}
}
}

login.blade.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Login</title>
<!--CSS-->
<link rel="stylesheet" href="{{ asset('css/styles.css') }}" type="text/css">
</head>
<body>
<div class="login-page-frame">
<div class="header-login-page-frame">
<h3>Login</h3>
</div>
<div class="inner-login-form-frame">
<form method="post" action="./home" class="login-form">
{{ csrf_field() }}
<input type="text" placeholder="email" name="login-email">
<br>
<input type="password" placeholder="pass" name="login-password">
<br>
<button type="submit" class="btn-login">Log In</button>
</form>
</div>
</div>
</body>

对于表单验证,您可以使用请求,您可以为每个表单创建请求并设置特定规则。

更多信息:"https://laravel.com/docs/7.x/validation#form-请求验证

示例:

class StoreUserRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return Auth::check();
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
];
}
}

在命名空间后的顶部使用Validator

use Validator;

这真的是因为我必须创建Validator类吗?

不,Validator是facade,你需要在顶部使用它,否则它会在你的控制器类中找到。这就是为什么你得到'AppHttpControllersValidator'没有找到

相关内容

  • 没有找到相关文章

最新更新