在我的应用程序中,有一个可以(理论上)具有无限task
的表单,我想在我的Request
中定义一个验证规则,检查它们中没有一个是彼此相等的:< / p>
自:
<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>
目前,我正在使用&#34;硬编码&#34; <select>
。没什么特别的......
答案 0 :(得分:1)
使用distinct
$rules = [
'task.*.id.*'=>'distinct'
]