required_if Laravel 5 validation

前端 未结 4 1366
悲&欢浪女
悲&欢浪女 2020-12-02 22:11

I have form that a user can fill-out for selling their home. And for one of the in puts, a user must select weather it will be \"For Sale\" or \"For Rent\". If it is For Sal

4条回答
  •  半阙折子戏
    2020-12-02 22:50

    You could also use the Illuminate\Validation\Rules\RequiredIf rule directly.

    Note: This rule is available in Laravel 5.6 and up.

    class SomeRequest extends FormRequest
    {
        ...
        public function rules()
        {
            return [
                'sale_price' => new RequiredIf($this->list_type == 'For Sale'),
                'rent_price' => new RequiredIf($this->list_type == 'For Rent'),
            ];
        }
    }
    
    

    And if you need to use multiple rules, then you can pass in an array.

    public function rules()
    {
        return [
            'sale_price' => [
                new RequiredIf($this->list_type == 'For Sale'),
                'numeric', 
                'string',
                ...
            ]
        ];
    }
    
    

提交回复
热议问题