gpt4 book ai didi

php - 在 Laravel 5 中使用表单请求验证时如何添加自定义验证规则

转载 作者:IT王子 更新时间:2023-10-29 00:58:30 25 4
gpt4 key购买 nike

我在 laravel 5 中使用表单请求验证方法来验证请求。我想用表单请求验证方法添加我自己的验证规则。我的请求类在下面给出。我想添加带有字段项的自定义验证 numeric_array。

  protected $rules = [
'shipping_country' => ['max:60'],
'items' => ['array|numericarray']
];

我的自定义函数如下所示

 Validator::extend('numericarray', function($attribute, $value, $parameters) {
foreach ($value as $v) {
if (!is_int($v)) {
return false;
}
}
return true;
});

如何在 laravel5 中将此验证方法与关于表单请求验证一起使用?

最佳答案

虽然上述答案是正确的,但在很多情况下,您可能只想为某个表单请求创建自定义验证。您可以利用 laravel FormRequest 并使用依赖注入(inject)来扩展验证工厂。我认为这个解决方案比创建服务提供者要简单得多。

这是如何做到的。

use Illuminate\Validation\Factory as ValidationFactory;

class UpdateMyUserRequest extends FormRequest {

public function __construct(ValidationFactory $validationFactory)
{

$validationFactory->extend(
'foo',
function ($attribute, $value, $parameters) {
return 'foo' === $value;
},
'Sorry, it failed foo validation!'
);

}

public function rules()
{
return [
'username' => 'foo',
];
}
}

关于php - 在 Laravel 5 中使用表单请求验证时如何添加自定义验证规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28793716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com