手动编写验证器
- 在任意位置建立\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());
}