laravel5.2表单验证,并显示错误信息的实例

网友投稿 254 2022-06-17


首先说下原理,表单验证使用validate验证器进行验证,如果表单验证不通过,将表单数据和错误信息闪存到session中去,然后再到表单中进行展示。

1.验证器规则的写法,返回一个规则数组

public function rule()

{

return [

'name' => [

'required',

'max: 5',

'min: 2',

'regex: /^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u'

],

'password' => [

'required',

'min: 6',

'max: 12',

],

];

}

执行下面这句话,生成一个验证器,默认会将错误信息保存到session中,自动重定向到跳转到之前页面;

$this->validate($request, $this->rule());

这时返回的页面没有获取到旧的页面提交的数据,需要闪存表单数据到session中去,不过要将这段语句放在上面那段话之前,因为上面的语句执行发现错误了之后,默认直接跳转到之前的页面。

$request->flashOnly(['name', 'password']); // 这是只闪存name和password的意思

// $request->flash(); // 闪存表单的所有数据到session中去

显示错误信息的代码如下:

@if (count($errors) > 0)

    @foreach ($errors->all() as $error)

  • {{ $error }}
  • @endforeach

@endif

如果在控制器中,有错误的信息,需要跳转到之前的页面,也可以使用以下代码:

return back()->withErrors('更新图片信息失败');

同样会在之前的页面显示错误信息。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:laravel Validator ajax返回错误信息的方法(laravel和thinkphp的区别)
下一篇:一文带你彻底理解Linux的各种终端类型及概念(1)(linux终端有什么用)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~