HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/farmfun.komma.pro/app/Komma/Globalization/Rules/ValidCountryIso3.php
<?php

declare(strict_types=1);

namespace App\Komma\Globalization\Rules;

use App\Komma\Globalization\RegionInfo;
use Illuminate\Contracts\Validation\Rule;

/**
 * Class ValidCountryNativeName
 *
 * Validates a countries three letter iso region name. E.g NLD for Netherlands for examples
 */
class ValidCountryIso3 implements Rule
{
    /**
     * Create a new rule instance.
     *
     * @return void
     */
    public function __construct()
    {
    }

    /**
     * Determine if the validation rule passes.
     *
     * @param string $attribute
     * @param mixed $value
     * @return bool
     */
    public function passes($attribute, $value)
    {
        $regionInfos = RegionInfo::getNeutralCultures()->filter(function (RegionInfo $regionInfo) use ($value) {
            return $regionInfo->getThreeLetterISORegionName() === $value;
        });

        return $regionInfos->count() == 1;
    }

    /**
     * Get the validation error message.
     *
     * @return string
     */
    public function message()
    {
        return __('globalisation.validation.country');
    }
}