2016-06-12 10 views
10

私は、ユーザーが自分の家を売るために記入できるフォームを用意しています。そして、イン・パットのうちの1つについては、ユーザは、「販売中」または「レンタル用」の天気を選択しなければならない。それが販売の場合、2つの価格入力フィールドが表示され、それが「レンタル」の場合は、jQueryに基づいて他の価格入力フィールドが表示されます。required_if Laravel 5 validation

私の問題は、価格フィールドが必要なのですが、たとえば「レンタル」を選択してフォームを送信すると、「For 「賃貸」セクションの下にあっても、「セール」入力フィールドが必要です。

私はLaravelにrequired_ifがあることを知っていますが、私はそれをどのように利用するのか分かりません。ここに私の物件に対するリクエストがあります。

<?php 

namespace App\Http\Requests; 

use App\Http\Requests\Request; 

class PropertyRequest extends Request 
{ 
    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return true; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
    public function rules() 
    { 
     return [ 
      'list_type' => 'required', 
      'sale_price' => 'required', // <-- maybe like: required_if:value 
      'rent_price' => 'required', 
     ]; 
    } 
} 

/****************** EDIT *********************** **** /私が今持っている何

public function rules() 
    { 
     return [ 
      'list_type' => 'required', 
      'sale_price' => 'required_if:list_type:For Sale', 
      'rent_price' => 'required_if:list_type:For Rent', 
    } 

しかし、私はフォームを送信すると、私はこのエラーを取得:

My Error

答えて

25

はLIST_TYPEセレクトの名前であると仮定するとボックスからc (値:販売または家賃)からhoose

は、このよう

"sale_price" => "required_if:list_type,==,selling" 

それを使用し、これは何を意味するのでしょうか? :販売価格のみLIST_TYPEの値は私のポストでrent_price

編集と同様に

public function rules() 
{ 
    return [ 
    'list_type' => 'required', 
    'sale_price' => 'required_if:list_type,==,For Sale', 
    'rent_price' => 'required_if:list_type,==,For Rent' 
} 
+0

のための同じをselling

に等しい場合に必要とされる

、Iそれを下に編集しました。 – David

+0

私の編集をチェックして、間違いを犯しました。これがうまくいけば、==、このような「sale_price」=>「required_if:list_type、==、売る」 –

+1

**あなたのコメントの**編集**セクション – David