HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/ghayatcom/ghayatcom-api/app/Http/Requests/InsuranceDetailsAddRequest.php
<?php

namespace App\Http\Requests;

use App\Library\CustomFailedValidation;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;

class InsuranceDetailsAddRequest extends CustomFailedValidation
{
    /**
     * 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
     */
    public function rules()
    {
        return [
            'user_id' => 'required|exists:users,id',
            'insurance_company_id' => 'required',
            'policy_number'  => 'required',
            'company_name'  => 'required',
            'cover_from'  => 'required|date',
            'cover_to'  => 'required|date',
            'insurance_type' => 'required|in:policy_holder,dependent',     //policy_holder,dependent
            'first_name' => 'required_if:insurance_type,dependent',
            'last_name' => 'required_if:insurance_type,dependent',
            'passport_number' => 'required_if:insurance_type,dependent',
            'dob' => 'required_if:insurance_type,dependent|date',
            'country_code' => 'required_if:insurance_type,dependent',
            'mobile_number' => 'required_if:insurance_type,dependent|min:7|max:15',
            'email' => 'required_if:insurance_type,dependent|email',
            'beneficiary_name' => 'required',
            'iban' => 'required',
            'bic' => 'required',
        ];
    }
}