如何在Laravel 5.5上使用'required_if'验证几个规则?

时间:2018-10-10 15:27:05

标签: validation laravel-5.5 php-7.1

我正在尝试验证'uuid'字段,因此如果'typeUUID'字段标记为'type1',则必须填写。

$validator = Validator::make($request->all(), [
    'uuid' => 'required_if:typeUUID,==,type1|alpha_dash|size:36',
]);

如果我选择值'type1',则表明该字段是必填字段,并且当我设置了另一个非必填值时,它将验证'alpha_dash'和'size:36并且由于该字段已发送而不接受该字段空的。

正确的方法是什么?

我知道我可以对条件进行处理,方法是在开始时检查类型,然后应用一个或多个规则。但是我想知道正确的方法。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,就是在规则'required_if'之后添加规则'nullable'。

$validator = Validator::make($request->all(), [
    'uuid' => 'required_if:typeUUID,==,type1|nullable|alpha_dash|size:36',
]);