您正在寻找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
因为默认情况下Laravel会考虑他们,因为TrimStrings
和ConvertEmptyStringsToNull
中间件的为无效。
欲了解更多信息,请查看documentation