当同一索引中的另一个数组字段具有特定值时,我需要将 required
规则应用于表单请求中的数组字段。示例:
public function rules(): array
{
return [
'data' => 'array',
'data.*.is_admin' => 'required|boolean',
'data.*.area' => [
'nullable',
Rule::requiredIf($condition),
// other rules...
]
]
}
计算数组中的第一项时,如果为 data.0.is_admin = 1
,我会将 required
添加到 data.0.area
。问题是我无法访问 requiredIf
方法中的当前索引。
使用闭包我能够访问当前索引,但我无法覆盖 nullable
规则,除非我添加一个 required
并且我需要能够传递 null
到area
。我不能使用 sometimes
因为我需要在 area = null
时忽略其他规则。
现在我循环遍历 $request->data
并有条件地为每个索引添加规则。我想知道是否有办法使用 Laravel 的数组 sintax 来实现这一点。
谢谢