2015-11-13 85 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' 

等。