如何使唯一数组的自定义验证规则依赖于其他字段 laravel
Posted
技术标签:
【中文标题】如何使唯一数组的自定义验证规则依赖于其他字段 laravel【英文标题】:How to make Custom Validation rule for unique Array dependent on other field laravel 【发布时间】:2019-08-12 03:53:19 【问题描述】:我正在开发 Laravel 5.6。我有 4 个依赖的唯一列,但不知道如何验证这些依赖列 这是我对独特约束的迁移:
$table->unique(array('lvl4','document_type','nature_id','type_id'),'u_coa_lvl4_asn_dnt_uk');
lvl4 是数组。
提前致谢
【问题讨论】:
【参考方案1】:您可以尝试使用以下方式手动验证:
$data = [
'lvl4' => 'Level 4',
'document_type' => 'Some type',
'nature_id' => 1,
'type_id' => 7,
];
$validator = Validator::make($data, [
'data.lvl4' => [
'required',
Rule::unique('your_table')->where(function ($query) use($data)
return $query->where('lvl4', $data['lvl4'])
->where('document_type', $data['document_type'])
->where('nature_id', $data['nature_id'])
->where('type_id', $data['type_id']);
),
],
]);
if($validator->fails())
// it fails validation ...
这是未经测试的,但这样的东西应该适合你。
https://laravel.com/docs/5.6/validation#rule-unique
【讨论】:
以上是关于如何使唯一数组的自定义验证规则依赖于其他字段 laravel的主要内容,如果未能解决你的问题,请参考以下文章