php - 需要 Laravel 验证如果带有数组索引
问题描述
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 来实现这一点。
谢谢
解决方案
推荐阅读
- shell - 什么是最好的 shell 脚本来监视 shell 命令的输出并在它与字符串匹配时给我发电子邮件?
- react-native - 旋转矩形使其以奇怪的模式移动
- android - 从不同的堆栈中清除任务
- angularjs - 如何实现 AngularJS MVC
- javascript - 检测 webextension 中的页面变化
- java - 尝试在 recyclerview 中的空对象引用上调用接口方法“int java.util.List.size()”
- javascript - 如何将字符串拆分为键/值输出数组,以便在以后的 Zapier 步骤中使用
- sql - 如何计算Sql server中表的行大小?
- spring-data - JPA Query方法不返回任何内容
- oracle - 尝试测试 HTTP 连接时收到“ORA-53203:安全违规”