33 lines
793 B
PHP
Executable File
33 lines
793 B
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* @author Amasty Team
|
|
* @copyright Copyright (c) Amasty (https://www.amasty.com)
|
|
* @package GeoIP Data for Magento 2 (System)
|
|
*/
|
|
|
|
namespace Amasty\Geoip\Model\Config\BackendModel;
|
|
|
|
use Magento\Framework\App\Config\Value;
|
|
use Magento\Framework\Exception\LocalizedException;
|
|
|
|
class IpValidation extends Value
|
|
{
|
|
/**
|
|
* @throws LocalizedException
|
|
*/
|
|
public function beforeSave(): self
|
|
{
|
|
if (empty($this->getValue())) {
|
|
throw new LocalizedException(__('Invalid Ip Address.'));
|
|
}
|
|
$ipIsValid = (bool)filter_var($this->getValue(), FILTER_VALIDATE_IP);
|
|
if (!$ipIsValid) {
|
|
throw new LocalizedException(__('Invalid Ip Address.'));
|
|
}
|
|
return parent::beforeSave();
|
|
}
|
|
}
|