Laravel required_if 不接受其他参数
Laravel required_if does not accept other parameters
我在 Laravel 的验证方面遇到了一些问题。我正在使用 required_if 验证器。
我想要实现的目标: 当 hilightColorBool 为 true 时,hilightColor 应该是required,应该是 integer 在 min:1 和 max:5[= 之间26=].
...
'hilightColorBool' => 'required|boolean',
'hilightColor' => 'required_if:hilightColorBool,1|integer|min:1|max:5'
...
但是当我像上面那样做时,它总是 returns hilghtColor 是布尔值,当我从 hilightColor 中删除整数、最小值和最大值时,它工作正常,但我仍然需要验证它是否有效是1到5之间的整数。我觉得很奇怪。
继续我的评论,我可能会这样做:
$rules = [
'hilightColorBool' => 'required|boolean',
];
if (is_bool($request->get('hilightColorBool'))) {
$rules['hilightColor'] = 'required|integer|min:1|max:5';
}
然后简单地做:
$request->validate($rules);
我在 Laravel 的验证方面遇到了一些问题。我正在使用 required_if 验证器。
我想要实现的目标: 当 hilightColorBool 为 true 时,hilightColor 应该是required,应该是 integer 在 min:1 和 max:5[= 之间26=].
...
'hilightColorBool' => 'required|boolean',
'hilightColor' => 'required_if:hilightColorBool,1|integer|min:1|max:5'
...
但是当我像上面那样做时,它总是 returns hilghtColor 是布尔值,当我从 hilightColor 中删除整数、最小值和最大值时,它工作正常,但我仍然需要验证它是否有效是1到5之间的整数。我觉得很奇怪。
继续我的评论,我可能会这样做:
$rules = [
'hilightColorBool' => 'required|boolean',
];
if (is_bool($request->get('hilightColorBool'))) {
$rules['hilightColor'] = 'required|integer|min:1|max:5';
}
然后简单地做:
$request->validate($rules);