yud*_*ohn 4 validation laravel
我有 Laravel 5 验证,如下所示:
$this->validate( $request, [
'zipcode' => 'required',
'province' => 'required',
'address' => 'required',
'number' => 'required',
'phone' => 'required'
] );
Run Code Online (Sandbox Code Playgroud)
如果验证失败,如何设置错误提示?我正在使用laracast/flash库,它支持设置如下所示的 Flash 消息:
flash()->error('Validation Fails');
Run Code Online (Sandbox Code Playgroud)
我知道我可以像这样使用Validator包:
use Validator;
$validation = Validator::make( $request->all(), [] );
Run Code Online (Sandbox Code Playgroud)
但我想在不使用use Validator;
和使用 Laravel 基本验证的情况下最小化我的代码$this->validate()
。
另外,如果需要额外的会话或参数,如何返回它们?我尝试过这样但它不起作用:
$this->validate( $request, [] )->with( 'foo', 'bar' );
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
小智 6
在你的控制器中:
$rules = array(
'zipcode' => 'required',
'province' => 'required',
'address' => 'required',
'number' => 'required',
'phone' => 'required'
);
$validator = Validator::make($request->all(), $rules);
if ($validator->fails())
{
return Redirect::to('/url_form')->withInput()->withErrors($validator);
}
Run Code Online (Sandbox Code Playgroud)
在您的刀片模板中:
@if($errors->has())
@foreach ($errors->all() as $error)
<p class="yellow-text font lato-normal center">{{ $error }}</p>
@endforeach
@endif
Run Code Online (Sandbox Code Playgroud)
祝你好运!
归档时间: |
|
查看次数: |
9076 次 |
最近记录: |