laravel - laravel 验证:唯一的两个字段和数组
问题描述
使用 laravel 验证,我想确保一个字段是唯一的,但在数组上下文中。(我已经看到了这个和这个,但它们没有解决数组上下文。)
假设我有这个 html:
<input name="sites[1][id]"><input name="sites[1][site_mrn]">
<input name="sites[2][id]"><input name="sites[2][site_mrn]">
<input name="sites[3][id]"><input name="sites[3][site_mrn]">
在我的验证规则中,我想确保每个站点的 id 都是有效的,并且 site_mrn 不为空,所以我有:
public function rules()
{
return [
'sites.*.site_mrn' => 'required|min:1',
'sites.*.id' => 'exists:sites,id'
];
}
所以那部分有效。我的问题是我想确保每对站点site_id
和site_mrn
在表中都是唯一的mpi_sites
,但我不知道如何访问输入中的每个 id/site_mrn 对。我想做这样的事情:
'sites.*' => Rule::unique('mpi_sites')->where(function ($q) {
$q->where('site_id', $xxxxx)->where('site_mrn', $yyyyy);
})
解决方案
推荐阅读
- docker - Openshift(oc)登录注册表一直失败 - 如何启动 Docker 守护进程?
- c# - 怎么了?下拉列表 Asp.Net Mvc C#
- linux - 构建过程中 docker 镜像目录不存在
- php - 如何编写正确的登录表单并使用 php 类会话保持登录状态?
- r - 如何使用 R 在另一个字符串向量中提取字符串向量的外观?
- mysql - MySql更新查询极慢
- amazon-s3 - 使用 AWS athena 从 avro 文件读取数组没有结果和未知错误
- android - 导入项目时 gradle 同步失败
- node.js - 在 Node/Express 中,如何使用 csv-to-array 匹配或比较嵌套承诺中的值
- java - 如何使用通用方法查找对象的字段?