требуется, если проверка Laravel 5


У меня есть форма, которую пользователь может заполнить для продажи своего дома. И для одного из входов пользователь должен выбрать, будет ли он "На продажу" или "В аренду". Если он выставлен на продажу, появятся два поля ввода цены, а если он сдается в аренду, то появится какое-то другое поле ввода цены, основанное на 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',
    }

Но я получаю эту ошибку, когда отправляю форму:

My Error

Author: David, 2016-06-12

1 answers

Предполагая, что 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'
}
 43
Author: Achraf Khouadja, 2018-01-25 09:20:27