laravel 自定義驗證方法位置(驗證器,驗證方法)


手動編寫驗證器

  • 在任意位置建立\Validators目錄用於存放驗證問件
  • 例子創建UserLoginValidator.php驗證類
<?php

namespace App\Http\Validators;

use Illuminate\Support\Facades\Validator;
use Illuminate\Http\Request;

class UserLoginValidator
{
    public static function validate(Request $request)
    {
        return Validator::make($request->all(), self::rules(), self::messages());
    }

    protected static function rules(): array
    {
       #如果個別場景如保存數據和修改數據大致相同但又不一樣
       #使用$request->method()判斷請求修改條件
        return [
            "email" => "required|email",
            "password" => "min:5",
        ];
    }

    protected static function messages(): array
    {
        return [
            "email.required" => '郵箱是必須的',
            "email.email" => '必須是郵箱格式',
            "password.min" => '密碼最少5個字符',
        ];
    }
}


使用示例

在控制器中調用

  #傳遞整個實例對象過去
  $validator=UserLoginValidator::validate($request);
        if ($validator->fails()){
            return resultData(0,$validator->errors()->all());
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM