我是Laravel的新手。
我想知道如何验证具有相同名称的多个输入。
我有一个POST请求的验证规则但是虽然我需要所有值,但验证失败了。
我注意到键名与用户输入的键名不同,所以我认为这会导致问题。
在页面上我有一个这样的表格,所以,我有很多输入字段,名称如“visit [0] ['did_visit']”,“访问[1] ['did_visit']”,“访问[2] [ 'did_visit'] ...
但是,我无法弄清楚如何在从FormRequest类扩展的类中验证这些。
请帮助我!!
started = time.time()
doProcess()
print(time.time()-started)
class VisitRecordRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
switch($this->method())
{
case 'GET':
return [];
case 'POST':
{
//var_dump my input!!!
echo "<pre>";
var_dump($this->input());
echo "</pre>";
exit;
return [
'date' => 'required',
'hour' => 'required',
'minute' => 'required',
'weather' => 'required',
'room_id' => 'required',
'did_visit' => 'required',
'bounce_zone' => 'required',
'bounce_reason' => 'required',
'next_action' => 'required',
];
}
case 'PUT':
{
return [];
}
case 'PATCH':
{
return [];
}
case 'DELETE':
{
return [];
}
default:break;
}
return [];
}
public function response(array $errors)
{
}
}
答案 0 :(得分:1)
'visit.*.did_visit' => 'required'
点击此处查看更多信息https://laravel.com/docs/5.4/validation#validating-arrays
答案 1 :(得分:0)
它应该是visit => 'array'
..然后有一个单独的验证器供访问..
然后
foreach($request->visit as $visit)
{
//validate visit ..
}