HousesRequest.php 3.58 KB
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class HousesRequest extends FormRequest
{
    /**
     * 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<string, mixed>
     */
       /* ['area_id', 'type_area_id', 'format_area_id', 'metro', 'color_metro', 'foto_main',
            'address', 'okrug', 'articul_area', 'format_house', 'floor', 'description_metro',
            'floor_bild', 'renter', 'uploading_area', 'electric_power', 'travel_card',
            'passing_place', 'separate_input', 'shop_windows', 'place_advertising', 'windows',
            'hood', 'central_heating', 'opening_hours', 'finishing', 'parking', 'price', 'rent_in_year',
            'rent_in_month', 'scheme_deal', 'present', 'object_plan', 'floor_plan', 'description_house',
            'map_coord', 'title', 'area', 'best', 'sos_obj', 'type_plan', 'description_2',
            'price_m2'];
         */
    public function rules()
    {
        return [
            'title' => [
                'required',
                'min:3',
                'max:100',
            ],
            'address' => [
                'required',
                'min:3',
                'max:100',
            ],
            'price' => [
                'required',
                'numeric',
                'min:0',
                'max:9999999',
            ],
            'area' => [
                'numeric',
                'min:0',
                'max:9999999',
            ],
            'floor' => [
                'numeric',
                'min:0',
                'max:9999999',
            ],
            'floor_bild' => [
                'numeric',
                'min:0',
                'max:9999999',
            ],
            'price_m2' => [
                'numeric',
                'min:0',
                'max:9999999',
            ],
            'rent_in_year' => [
                'numeric',
                'min:0',
                'max:9999999',
            ],
            'windows' => [
                'numeric',
                'min:0',
                'max:9999999',
            ],
            'parking' => [
                'numeric',
                'min:0',
                'max:9999999',
            ],
            'foto_main' => [
                'mimes:jpeg,jpg,png',
                'max:10000'
            ],
        ];
    }

    public function messages() {
            return [
                'required' => 'Поле «:attribute» обязательно для заполнения',
                'unique' => 'Такое значение поля «:attribute» уже используется',
                'min' => [
                    'string' => 'Поле «:attribute» должно быть не меньше :min символов',
                    'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт'
                ],
                'max' => [
                    'string' => 'Поле «:attribute» должно быть не больше :max символов',
                    'file' => 'Файл «:attribute» должен быть не больше :max Кбайт'
                ],
                'mimes' => 'Файл «:attribute» должен иметь формат :values',
                'numeric' => 'В поле «:attribute» должно быть указано целое число от 0 до 999999',
            ];

    }
}