<?php

declare(strict_types=1);

namespace App\Http\Requests\Newsletter;

use Illuminate\Foundation\Http\FormRequest;

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

    public function rules(): array
    {
        return [
            'email' => ['nullable', 'email', 'max:255', 'required_without:cellphone', 'unique:newsletters,email'],
            'cellphone' => ['nullable', 'string', 'required_without:email', 'regex:/^09\d{9}$/', 'unique:newsletters,cellphone'],
        ];
    }

    public function messages(): array
    {
        return [
            'email.required_without' => 'وارد کردن ایمیل یا شماره همراه الزامی است.',
            'cellphone.required_without' => 'وارد کردن ایمیل یا شماره همراه الزامی است.',
            'email.email' => 'فرمت ایمیل معتبر نیست.',
            'email.unique' => 'این ایمیل قبلاً ثبت شده است.',
            'cellphone.regex' => 'شماره همراه باید با 09 شروع شده و 11 رقم باشد.',
            'cellphone.unique' => 'این شماره همراه قبلاً ثبت شده است.',
        ];
    }
}
