wamesk / laravel-validator
Laravel 扩展验证器。
Requires
- php: ^8.0|^8.1|^8.2
- laravel/framework: ^9.0|^10.0
- wamesk/laravel-api-response: ^1.0
This package is auto-updated.
Last update: 2024-09-06 16:05:58 UTC
README
扩展默认 Laravel 验证器的 Laravel 包
安装
composer require wamesk/laravel-validator
发布翻译
php artisan vendor:publish --provider="Wame\Validator\LaravelValidatorServiceProvider" --tag="translations"
验证器
此包默认使用的验证器。它通过链式调用函数和获取响应来工作。响应由 wamesk/laravel-api-response 包的函数生成。要更好地了解响应的工作方式,请查看响应包的文档这里
验证函数
这是一个最终函数。总是最后执行。它需要验证数据和规则。有关规则的文档点击这里
使用示例
$data = ['email' => 'example@gmail.com', 'password' => 'password']; $validator = Validator::validate($data, [ 'email' => 'email|required|max:255', 'password' => 'required|string' ]); if ($validator) return $validator;
在验证错误的情况下,它将返回
{
"data": null,
"code": null,
"errors": {
"email": [
"validation.required"
]
},
"message": null
}
代码函数
此函数在响应中添加内部代码。您可以传递第二个参数来更改消息翻译的前缀。
使用示例
$data = ['email' => 'example@gmail.com', 'password' => 'password']; $validator = Validator::code('1.2')->validate($data, [ 'email' => 'email|required|max:255', 'password' => 'required|string' ]); if ($validator) return $validator;
在验证错误的情况下,它将返回
{
"data": "1.2",
"code": null,
"errors": {
"email": [
"The email field is required"
]
},
"message": "api.1.2"
}
消息函数
此函数添加自定义验证响应。您需要传递对象的键是字段和它验证。作为值,您传递如示例中所示的自定义消息。
使用示例
$data = ['email' => 'example@gmail.com', 'password' => 'password']; $validator = Validator::code('1.2') ->messages([ 'email.required' => 'Email is required' ]) ->validate($data, [ 'email' => 'email|required|max:255', 'password' => 'required|string' ]); if ($validator) return $validator;
在验证错误的情况下,它将返回
{
"data": "1.2",
"code": null,
"errors": {
"email": [
"Email is required"
]
},
"message": "api.1.2"
}
状态码函数
此函数不会在视觉上更改响应,但会更改响应的状态码。默认状态码是 400 (Bad Request)。如果您想链式调用所有函数,它可以看起来像这样。状态码总是整数。
Validator::statusCode($statusCode)->code($code)->messages($messages)->validate($data, $rules);
规则
此包还为您的项目提供以下自定义规则。
使用
Validator::code($code)->validate($data, [ 'id' => [ new Exists(User::class), ] ]);
存在规则
此规则验证实体是否存在。它需要在构造函数中提供模型类。首先,它验证数据库中是否存在具有此参数的实体。其次,它检查它是否未被删除,如果是,则返回验证错误。您可以传递第二个 (可选) 参数 列名。
new \Wame\Validator\Rules\Exists(User::class, 'id')
整数规则
此规则验证属性是否为整数。您可以在构造函数中传递额外的数据(最小值,最大值)来创建可接受整数的范围。
new \Wame\Validator\Rules\IsInteger(min: 10, max: 100)
字符串规则
此规则验证属性是否为字符串。您可以在构造函数中传递额外的数据(最小值,最大值)来验证字符串的长度。
new \Wame\Validator\Rules\IsString(min: 10, max: 100)
数组规则
此规则验证属性是否为数组。您可以在构造函数中传递额外的数据(最小值,最大值)来验证数组的长度。
new \Wame\Validator\Rules\IsString(min: 10, max: 100)
邮箱规则
验证电子邮件格式,检查域名存在,并在 Laravel 中可选地阻止临时电子邮件域名。您可以通过传递额外的数据(true,false)来启用某些功能。
new \Wame\Validator\Rules\IsEmail(domainMustExist: false, disableTempMail: false)