У меня есть форма, которую пользователь может заполнить для продажи своего дома. И для одного из стажеров пользователь должен выбрать погоду, это будет «Продажа» или «Аренда». Если это продажа, появятся два поля ввода цены, и если это будет арендная плата, тогда появится другое поле ввода цены, основанное на jQuery.
Моя проблема заключается в том, что я хочу, чтобы поля цены требовались, НО, например, если я выбрал «В аренду», а затем отправлю свою форму, это даст мне ошибку, говоря, что поля цены для полей ввода «For Sale» требуются, даже если они находятся в разделе «Аренда».
Я знаю, что в 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' }