ユーザーが自宅を売るために記入できるフォームがあります。そして、入力の1つについて、ユーザーは「販売」または「賃貸」の天気を選択する必要があります。 For Saleの場合、2つの価格入力フィールドが表示され、For Rentの場合、jQueryに基づいて他の価格入力フィールドが表示されます。
私の問題は、価格フィールドを必要とすることですが、たとえば「賃貸」を選択してからフォームを送信すると、「販売」入力フィールドの価格フィールドを示すエラーが表示されます「賃貸」セクションの下にある場合でも必要です。
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',
];
}
}
/ ******************編集*************************** /
私が今持っているもの:
public function rules()
{
return [
'list_type' => 'required',
'sale_price' => 'required_if:list_type:For Sale',
'rent_price' => 'required_if:list_type:For Rent',
}
しかし、フォームを送信するとこのエラーが発生します。
list_typeが選択する選択ボックスの名前であると仮定します(値:販売または賃貸)
このように使用します
"sale_price" => "required_if:list_type,==,selling"
これはどういう意味ですか?:
list_typeの値がselling
と等しい場合のみ、販売価格が必要です。
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'
}