laravel controller 层---数据验证
$validatedData = Validator::make($request->all(),[ //数据验证规则 'name' => 'required|integer', 'score' => 'required|integer', ]); // $validatedData->validate(); //这个会自动跳转到刚才来的页面 if ($validatedData->fails()) { var_dump($validatedData->errors());//输出验证错误信息 exit(); }
if ($validatedData->fails()) { // var_dump($validatedData->errors());//输出验证错误信息 //跳转到指定页面并显示错误信息 // return Redirect::to('welcome')->withErrors($validatedData)->withInput(); return redirect('welcome')->withErrors($validatedData)->withInput(); //返回到来的界面,并输出错误信息 $validatedData->validate(); }
$validator->errors()->first('name','您的 name 必须是整型')
2) 条件验证顺序
$messages = [ 'name.integer' => '名字不能为整型', 'name.max' => '长度不能超过5', ]; public static $rules=[ 'name' => 'required|integer|max:5', 'score' => 'required|integer', ]; $validatedData = Validator::make($data,Student::$rules,$messages);
3). 自定义消息弹出消息提醒,无需验证
controller层: return back()->withErrors('登录失败,请验证账号'); view层: @include('adminlte-templates::common.errors')
4) 自定义验证
$messages = [ 'name.integer' => '名字不能为整型', 'name.max' => '长度不能超过5', ]; public static $rules=[ 'name' => 'required|integer|max:5|foo_fei', //foo_fei 自定义验证 'score' => 'required|integer', ]; Validator::extend('foo_fei', function ($attribute, $value, $parameters) { //exit('进来了'); return $value=='foo'; //这里的错误消息在 resources/lang/en/validation.php // 或者指定第三个参数 // 'custom' => [ // 'attribute-name' => [ // 'rule-name' => 'custom-message', // ], // 'name'=> [ // 'foo_fei'=>'你是傻逼' // ], // ], });//这里可以用第三个参数指定错误消息 $validatedData = Validator::make($data,Student::$rules,$messages);
Laravel-validation-验证错误信息中文 [ github 地址]