手動編寫驗證器
- 在任意位置建立\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());
}