想要在Laravel中使用参数创建自定义验证规则

时间:2019-06-22 20:20:29

标签: laravel validation laravel-5

我想添加带有参数的自定义验证规则,并且在Laravel文档https://laravel.com/docs/5.8/validation#custom-validation-rules中没有验证参数选项。我想要像required_if这样的验证规则。

2 个答案:

答案 0 :(得分:2)

您可以在构造函数中传递它

new CustomRule($parameter);
class CustomRule implements Rule
{
    public function __construct($parameter)
    {
        $this->parameter = $parameter;
    }

...

答案 1 :(得分:0)

您有时可以在验证器实例上使用方法。使用必需的规则,并在函数中添加条件,如下所示:

$v->sometimes('reason', 'required|max:500', function ($input) {
    return $input->games >= 100;
});

上面的示例将检查游戏是否大于或等于100,然后要求用户提供原因,否则将引发错误。

该示例来自Laravel文档,您可以在这里here