2017-07-20 6 views
0

フォーム要求クラスで配列要素を含むフィールドを検証できません。 ルール方法フォーム要求でのラーベール配列の検証

public function rules() 
{ 
    return [ 
     "state" => 'required', 
     "state.0" => 'required', 
     "state.*" => 'required', 
    ]; 
} 

要求 - の配列があり>すべての()

"state" => array:1 [ 
    0 => "" 
] 

ゼロ要素が空です。しかし、検証は成功です。 私は何が間違っていますか?

+1

それが空だが、それが存在する:
はここでこれを実証し、更新する方法です。 '' state.0 "=> 'required | min:1''を追加するとどうなりますか? – Mjh

+0

あなたのコントローラにルールを呼び出して、失敗した場合はエラーメッセージを出力していますか? – Option

+0

@Mjhは、空のフィールドが通過しないようにする必要があります。 – Option

答えて

0

ダイナミックフィールドを処理するために、あなたはすべての投稿"items"をループする必要があるとためルールを追加します。

public function rules() { 
    $rules = [ 
      'state' => 'required', 
     ]; 
    foreach($this->request->get('state') as $key => $val) { 
     $rules['state.'.$key] = 'required'; 
    } 
    return $rules; 
} 
関連する問題