Arrays 阵列数据的Laravel L5复杂验证
在我的应用程序中,有一个表单(理论上)可以有无限的Arrays 阵列数据的Laravel L5复杂验证,arrays,laravel,validation,laravel-5,Arrays,Laravel,Validation,Laravel 5,在我的应用程序中,有一个表单(理论上)可以有无限的任务,我想在我的请求中定义一个验证规则,检查它们之间是否不相等: 发件人: 或: 或: 我没有得到任何错误,但是验证总是通过的。我很确定,有一个很好的方法让它运行起来,但我认为我走错了方向 编辑:(根据要求提供附加信息) @foreach($users作为$user) {{$user->email} @endforeach @foreach($users作为$user) {{$user->email} @endforeach 现在,我使用的是
任务
,我想在我的请求
中定义一个验证规则,检查它们之间是否不相等:
发件人:
或:
或:
我没有得到任何错误,但是验证总是通过的。我很确定,有一个很好的方法让它运行起来,但我认为我走错了方向
编辑:(根据要求提供附加信息)
@foreach($users作为$user)
{{$user->email}
@endforeach
@foreach($users作为$user)
{{$user->email}
@endforeach
现在,我使用的是“硬编码”
。没有什么特别的…使用distinct
$rules = [
'task.*.id.*'=>'distinct'
]
'task.*'=>'distinct'
但也有'task.id.*=>'distinct'
不起作用。显示您的视图代码,您的选择表单代码,这应该可以很好地用于阵列显示您的真实视图代码,类似于使用foreach生成选择字段的内容可能是,,或者您可以dd($request)
并显示usSorry以再次打扰您,但还有最后一件事:我怎么能忽略“empty”ìd`?添加这个nullable | distinct
<select name="task[2][id][]" class="form-control">
<select name="task[n][id][]" class="form-control">
'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>
$rules = [
'task.*.id.*'=>'distinct'
]