接上一篇:laravel validator上線,擴充套件validator這麼香麼,可以早下班擼貓咯
當前擴充套件適用於 驗證規則 僅當前專案使用,可採用此種方法。
系統預設配置
return [
'failure_throw_exception' => \Bhc\Validator\Exceptions\ValidatorFailureException::class,//驗證失敗丟擲異常類
'failure_throw_code' => 422,//驗證失敗丟擲異常錯誤碼
'request_path' => base_path('app' . DIRECTORY_SEPARATOR . 'Http' . DIRECTORY_SEPARATOR . 'Requests'),
'append_extend_rules' => [
//新增驗證規則 正規表示式
'chinese_name' => '/^([\x{4e00}-\x{9fa5}])+$/u', //正則匹配
],
];
配置擴充套件 - 增加驗證規則
在 append_extend_rules
陣列中新增規則,例如:
return [
'failure_throw_exception' => \Bhc\Validator\Exceptions\ValidatorFailureException::class,//驗證失敗丟擲異常類
'failure_throw_code' => 422,//驗證失敗丟擲異常錯誤碼
'request_path' => base_path('app' . DIRECTORY_SEPARATOR . 'Http' . DIRECTORY_SEPARATOR . 'Requests'),
'append_extend_rules' => [
//新增驗證規則 正規表示式
'chinese_name' => '/^([\x{4e00}-\x{9fa5}])+$/u', //正則匹配
'custom_va' => '/^A[\d]{5}$/',
],
];
驗證規則如下
public function index()
{
$rules = <<<'TOT'
@param $globalId <required|integer> globalId不能為空|globalId必須是數字
@param $birthday <required> 請輸入您的出生日期
@param $sex <required|in:1,2> 請選擇您的性別|性別引數傳遞錯誤
@param $age <required|integer|min:1> 請輸入您的年齡|年齡必須是數字|年齡不能小於1
@param $custom <required|custom_va> 自定義資料custom不能為空|資料格式不正確,格式要求是:A12345
TOT;
return $this->parseRules($rules);
}
custom_va
這是新定義的驗證規則。
只有輸入符合驗證規則的資料才能通過:
當前擴充套件適用於 驗證規則 僅當前專案使用,可採用此種方法。
Laravel
1、開啟 app/Providers/AppServiceProvider.php
public function boot()
{
Illuminate\Support\Facades\Validator::extend('cc', function ($attribute, $value, $parameters) {
return $value == 'cc';
});
}
Lumen
1、開啟bootstrap/app.php
找到以下程式碼:
//開啟以下三行的註釋
$app->register(App\Providers\AppServiceProvider::class);
$app->withFacades();
$app->withEloquent();
2、開啟 app/Providers/AppServiceProvider.php
public function boot()
{
Illuminate\Support\Facades\Validator::extend('cc', function ($attribute, $value, $parameters) {
return $value == 'cc';
});
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結