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