我一直在阅读Laravel验证文档。我不清楚如何结合两条规则。
例如:
<input type="checkbox" name="has_login" value="1">
<input type="text" name="pin" value="">
如果勾选了has_login
复选框,则需要输入文字pin
值。
如果未勾选has_login
,则不需要输入文字pin
。
Laravel验证:
public function rules()
{
return [
'has_login' => 'accepted',
'pin' => 'required',
];
}
答案 0 :(得分:7)
使用required_with或required_if
required_with:foo,bar
验证字段必须存在且仅在存在任何其他指定字段时才为空。
return [
'has_login' => 'sometimes',
'pin' => 'required_with:has_login,on',
];
-
required_if:anotherfield,value
如果anotherfield字段等于任何值,则验证字段必须存在且不为空。
return [
'has_login' => 'sometimes',
'pin' => 'required_if:has_login,on',
];
-
https://laravel.com/docs/5.2/validation
-
此外,如果未选中复选框has_login
,则不会将其作为表单提交的一部分发送