在我的应用程序中,有一个可以(理论上(具有无限task
的形式,我想在我的Request
中定义一个验证规则,以检查它们中没有一个彼此相等:
从:
<select name="task[1][id][]" class="form-control">
..
<select name="task[2][id][]" class="form-control">
..
..
<select name="task[n][id][]" class="form-control">
由于我对Laravel验证还不够熟悉,所以我很天真,尝试了这样的事情:
'task[1][id][]' => 'different:task[2][id][]', 'task[2][id][]' => 'different:task[1][id][]'
或:
'task[1][id][*]' => 'different:task[2][id][*]', 'task[2][id][*]' => 'different:task[1][id][*]'
或:
'task[*][id][*]' => 'different:task[*][id][*]'
我没有收到任何错误,但验证总是通过。我很确定,有一个好方法可以让这个东西运行,但我认为我走错了路。
编辑:(根据要求提供其他信息(
<select name="task[1][id][]" class="form-control">
<option value=""> </option>
@foreach ($users as $user)
<option value="{{ $user->id }}">{{ $user->email }}</option>
@endforeach
</select>
<select name="task[2][id][]" class="form-control">
<option value=""> </option>
@foreach($users as $user)
<option value="{{ $user->id }}">{{ $user->email }}</option>
@endforeach
</select>
目前,我正在使用"硬编码"<select>
。没什么特别的...
使用distinct
$rules = [
'task.*.id.*'=>'distinct'
]