2015-11-13 128 views
4

有没有人有任何想法如何执行像下面的动态表单验证?Laravel 5动态表单验证

<input type="text" name="candidates[0][candidate_number]" value=""/> 
<input type="text" name="candidates[0][givennames]" value=""/> 

<input type="text" name="candidates[1][candidate_number]" value=""/> 
<input type="text" name="candidates[1][givennames]" value=""/> 

我觉得我已经尝试了一切!

回答

3

假设您使用的是form requests,这很简单。在您的形式请求类:

public function rules() { 
    $rules = []; 

    foreach($this->input('candidates') as $key => $value) { 
     $rules["candidates.{$key}.candidate_number"] = ['required', 'numeric']; 
     $rules["candidates.{$key}. givennames"] = ['required']; 
    } 

    return $rules; 
} 
+0

谢谢你,它完美的工作。只需要现在就定制这些错误信息! :) – 0w3n86

+0

@ 0w3n86您可以采用与形式请求的'messages()'函数相同的方法。请享用! – ceejayoz

+0

对不起,我很快就说话了!现在,当我实际输入任何数据到输入时,它会返回错误: 候选[0] [候选编号]字段是必需的。 – 0w3n86

0

试试这个办法:

foreach($request->input('array') as $i => $value) { 
    $rules['array.'.$i] = 'validation rules here'; 
} 

你的规则应该是这样的:

array.0 => 'rule' 
array.1 => 'rule' 

等。