我有一个请求类,如下所示。
class RegisterRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'UserName' => 'required|min:5|max:50',
'Password' => 'required|confirmed|min:5|max:100',
];
}
public function response(array $errors){
print_r($errors);
return \Redirect::back()->withErrors($errors)->withInput();
}
}
此请求类用于在Laravel的内置模板中注册期间验证数据。以下是方法
public function postRegister(RegisterRequest $request)
// **Check here** ^^^^^^^^^^^^^^^
{
return $this->register($request);
}
我们可以在下面找到此方法的路径。
\厂商\ laravel \框架\ SRC \照亮\基金会\验证\ RegistersUsers.php
以下是在Register页面中编写的代码。
@if (count($errors) > 0)
<div class="alert alert-danger">
<strong>Whoops!</strong> There were some problems with your input.<br><br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
错误消息未显示在寄存器Blade中。
在请求类中,有以下方法。
public function response(array $errors){
print_r($errors);
//die();
return \Redirect::back()->withErrors($errors)->withInput();
}
虽然我在启用die()
时打印但它从不发送错误消息
在刀片中。
答案 0 :(得分:0)
我在Kernel.php中做了一些更改。现在我可以查看Blade中的错误消息。
原始代码。
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
修改为
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
];