Laravel框架 自带的 表单验证

           (1)     Laravel框架 在 提交 表单的时候 也会将 表单中 带有 name 属性的 input标签 生成对应的 请求参数(name为参数名,value为参数值)这些请求参数等于是存放在了Request请求对象中的Attribute键值对集合中。 

           (2)  所以我们在后台的 Controller控制层。可以通过 validate()方法来对Request对象中的请求参数进行自定义验证。

直接调用$request对象中的valiable():         

$validateData = $request->validate([

                  'title'=>'required|unique:posts',

                  'body'=>'required'

        ]);

  另一种写法: 

$this->validate($request, [
    'title' => 'required|unique:posts|max:255',
    'body' => 'required',
    'publish_at' => 'nullable|date',
]);

如果 验证成功了就继续向下执行 操作数据库的 代码。 

如果 验证失败了  Laravel框架就会自动生成响应Response,而且验证失败的 所有 的 错误信息 会被 存放在 一次性Session会话对象中。然后laravel框架会自动为我们跳转到上一个页面 (用代码实现就是:$request->redirect()->back() ),我们在上一个页面中可以通过{{$error}}来获取存放在$error中的所有的错误信息。 

   前端 打印错误信息 常用的 方法(配合BootStrap):

<!-- /resources/views/post/create.blade.php -->

<h1>Create Post</h1>

@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

<!-- Create Post Form -->

手动判断验证是否通过,然后手动执行页面跳转,保存错误信息,然后数据保存等操作:

if($validateData ->fails()){

  1. return redirect()->back()->withErrors($validator)->withInput(); //信息保持

  2. }

  3. 错误信息保存 : withErrors($validator)

  4. 数据保留:withInput() + {{old('name')}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值