zoukankan      html  css  js  c++  java
  • [Laravel 5] 表单验证 Form Requests and Controller Validation

    本文 转载自:http://blog.hsin.tw/2015/laravel-5-note09-form-requests-and-controller-validation/   

    文章解答了我的困惑非常感谢原作者  我把原来的繁体字 改成了 简体

    在后端作表单验证 有两种方法
    第 1 种是使用 artisan 建立一个 request class 作验证   (手册里写的返回到Session 中 我不是非常理解 这篇文章解决勒沃的困惑)
    第 2 种是直接在 controller 的 method 里面作验证

    首先是第 1 种方式
    首先使用 artisan 建立 request 

    php artisan make:request CreateArticleRequest
    

    这条命令会创建这个文件

    app/Http/Requests/CreateArticleRequest.php

    class CreateArticleRequest extends Request {
     
        //验证用户权限  true 为有权限   有兴趣的可以改成false试试
        public function authorize()
        {
            return true;
        }
     
        // 这个地方填写表单验证规则
        public function rules()
        {
            return [
                'title' => 'required|min:3',
                'body' => 'required',
                'published_at' => 'required|date'
                 
            ];
        }
     
    }

    如果有不符合规则的字段
    他会输出 error 并回到原表单页
    所以 view 这边要再加上显示 error

    resources/views/articles/create.blade.php

        <!-- 这边省略了前一节讲的表单部份 -->
     
        <!-- 加上显示 error 可再依照需求作更动 -->
        @if ($errors->any())
            <ul class="alert alert-danger">
            @foreach($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
            </ul>
        @endif

    第二种方法 直接在 controller 里做验证

    // 这行要加上
    use IlluminateHttpRequest;
     
    class ArticlesController extends Controller {
     
        public function store(Request $request)
        {
            // 验证条件的写法跟前面的一样 有错误一样会导回原表单页并显示错误
            $this->validate($request, ['title'=>'required']);        
     
            Article::create($request->all());
            return redirect('articles');
        }
     
    }
  • 相关阅读:
    arcgis server 9.2代码阅读笔记一:在图层中增加一个点
    mapx+vb实战摘要
    F# 程式設計入門 (1)
    arcgis server 9.2代码阅读笔记二:在页面上动态加载图层
    F#维基百科,自由的百科全书(重定向自F#)
    用VC++进行MapX二次开发
    sdsalea process in sd
    abap关于sap地址,传真,邮箱的地址读取
    SDEnterprise Structure Configuration
    ABAP通过LDB_PROCESS函数使用逻辑数据库
  • 原文地址:https://www.cnblogs.com/hook-life/p/4398452.html
Copyright © 2011-2022 走看看