Laravel使用表單請求驗證

所有的表單驗證都使用表單請求驗證

  • 創(chuàng)建表單請求基類
$ php artisan make:request Request
  • 基類繼承Request實例:app/Http/Requests/Request.php
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class Request extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }
}
  • 創(chuàng)建學(xué)生表單請求
$ php artisan make:request StudentRequest
  • 修改StudentRequest:app/Http/Requests/StudentRequest.php
<?php

namespace App\Http\Requests;

class StudentRequest extends Request
{
    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        switch($this->method())
        {
            // CREATE
            case 'POST':
                return [
                    'name' => 'required|min:1:max:10',
                    'age' => 'required|integer|between:1,120',
                    'sex' => 'required|integer|in:0,1,2'
                ];
                break;

            // UPDATE
            case 'PUT':
                break;

            case 'PATCH':
                return [
                    // UPDATE ROLES
                ];
                break;

            case 'GET':
                break;

            case 'DELETE':
                break;

            default:
                return [];
                break;
        }
    }

    public function messages()
    {
        return [

        ];
    }
}

  • 格式化參數(shù)中文名:resource/lang/en/validation.php
<?php

return [
    /*
    |--------------------------------------------------------------------------
    | Custom Validation Attributes
    |--------------------------------------------------------------------------
    |
    | The following language lines are used to swap attribute place-holders
    | with something more reader friendly such as E-Mail Address instead
    | of "email". This simply helps us make messages a little cleaner.
    |
    */

    'attributes' => [
        'name' => '姓名',
        'age' => '年齡',
        'sex' => '性別',
    ],

];

  • 控制器中使用請求驗證,收工
<?php

namespace App\Http\Controllers;

use App\Http\Requests\StudentRequest;
use App\Models\Student;

class StudentsController extends BaseController
{
    public function store(StudentRequest $request)
    {
        Student::create($request->all());
        return redirect()->route('students.index')->with('success', '學(xué)生信息添加成功');
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容