<?php

namespace App\Http\Requests\ItemMaster;

use Illuminate\Foundation\Http\FormRequest;

class IndependentFieldStoreRequest extends FormRequest
{
    public function authorize(): bool
    {
        return true;
    }

    public function rules(): array
    {
        return [
            'group_id' => 'nullable|integer',
            'field_name' => 'required|string|max:255',
            'field_key' => 'nullable|string|max:80|regex:/^[a-zA-Z][a-zA-Z0-9_]*$/',
            'field_type' => 'required|in:textbox,number,dropdown,checkbox,date,textarea',
            'is_required' => 'nullable|boolean',
            'default_value' => 'nullable|string',
            'placeholder' => 'nullable|string|max:255',
            'display_condition' => 'nullable|array',
            'validation_rules' => 'nullable|array',
            'options' => 'nullable|array',
            'properties' => 'nullable|array',
            'is_locked' => 'nullable|boolean',
        ];
    }

    public function messages(): array
    {
        return [
            'field_key.regex' => __('validation.field_key_format'),
        ];
    }
}
