答案 0 :(得分:1)
您正在寻找required_if
。
因此,您可以在Form Request或Validator中使用以下规则。
return [
'systolic_blood_pressure_high' => 'nullable|numeric|min:1|required_if:has_systolic_bp,on',
'systolic_blood_pressure_low' => 'nullable|numeric|min:1|required_if:has_systolic_bp,on',
];
假设您有一个名称为has_systolic_bp
的复选框,并且选中了该复选框,则必填字段systolic_blood_pressure_high
和systolic_blood_pressure_low
。
您还需要将它们标记为nullable
,因为默认情况下,由于TrimStrings
和ConvertEmptyStringsToNull
中间件,Laravel会将它们视为无效。
有关更多信息,请检查documentation