2017-01-06 10 views
0

私はこの入力を持っています。今、私は必要なフィールドを設定したいが、その言語コード[de]がある場合のみ。私がこれを好きになるとき、私はすべての言語に必要なフィールドを取得します。どのような提案を私はこれを修正することができますか?デフォルト言語でのみ必須フィールドを設定するにはどうすればよいですか?

@foreach ($languages as $language) 
     <input type="text" id="text-title" name="article_title[{{$language->code}}]" value="" class="form_input" /> 
    @endforeach 

    public function rules() 
    { 
     return [ 
      'article_title[de]'    => 'required:articles', 
      'slug'       => 'required|unique:articles', 
      'article_intro[de]'    => 'required:articles', 
      'article_content[de]'   => 'required:articles', 
      'article_category[de]'   => 'required|exists:categories,id', 
     ]; 
    } 

EDIT:

私はこの解決策を見つけたが、それは私のために動作します。 https://laracasts.com/discuss/channels/general-discussion/laravel-5-dynamic-form-validation?page=1

答えて

0

あなたのようなURLがある場合はreuquestとのlangaugeを確認することができます。www.xxxxx.com/deか、LANGの値とし、より隠された入力を渡すことができます。

<input type="hidden" name="lang" value="de"> 

要求:

if(request()->segment(2) == 'de') { 
    return [ 
     'article_title[de]'    => 'required:articles', 
     'slug'       => 'required|unique:articles', 
     'article_intro[de]'    => 'required:articles', 
     'article_content[de]'   => 'required:articles', 
     'article_category[de]'   => 'required|exists:categories,id', 
    ] 
} else { 
    return []; 
} 

または非表示の入力と

if(request()->lang == 'de') { 
    return [ 
     'article_title[de]'    => 'required:articles', 
     'slug'       => 'required|unique:articles', 
     'article_intro[de]'    => 'required:articles', 
     'article_content[de]'   => 'required:articles', 
     'article_category[de]'   => 'required|exists:categories,id', 
    ] 
} else { 
    return []; 
} 
+0

その動作していない...私は入力しても、データフィールドにそれは必要と言う – None

+0

私は他の戻り値を追加し、どのようなステートメントであなたのコードを見るためにメソッドの開始時にdd(request() - > segment(2)== 'de')行く... – DokiCRO

関連する問題