<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Waavi\Sanitizer\Laravel\SanitizesInput;

class AdminLanguageRequest extends FormRequest
{
    use SanitizesInput;

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'id' => 'required_with:is_new|unique:languages|max:5|regex:/^[a-z]{2}(-[a-z]{2})?$/',
            'name' => 'required|max:45',
            'native_name' => 'required|max:45',
            'position' => 'required|int',
            'is_active' => 'boolean',
            'base_language_id' => 'required_with:is_new|exists:languages,id',
            'initial_status' => 'required_with:is_new|in:draft,same_as_base'
        ];
    }

    /**
     * Filters to be applied to the input.
     *
     * @return array
     */
    public function filters()
    {
        return [
            'id' => "strip_tags|trim",
            'name' => "strip_tags|trim",
            'native_name' => "strip_tags|trim",
        ];
    }
}
