songyz_validator上线,扩展validator这么香么,可以早下班和女盆友一起撸猫咯之验证规则(二)
接上一篇: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
这是新定义的验证规则。
只有输入符合验证规则的数据才能通过:
2、系统validator扩展
当前扩展适用于 验证规则 仅当前项目使用,可采用此种方法。
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 协议》,转载必须注明作者和本文链接
推荐文章: