<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/**
* Validate URL
*
* @author Magento Core Team <core@magentocommerce.com>
*/
namespace Magento\Framework\Url;
class Validator extends \Zend_Validate_Abstract
{
/**#@+
* Error keys
*/
const INVALID_URL = 'invalidUrl';
/**#@-*/
/**
* @var \Zend\Validator\Uri
*/
private $validator;
/**
* Object constructor
*/
public function __construct(\Zend\Validator\Uri $validator)
{
// set translated message template
$this->setMessage((string)new \Magento\Framework\Phrase("Invalid URL '%value%'."), self::INVALID_URL);
$this->validator = $validator;
$this->validator->setAllowRelative(false);
}
/**
* Validation failure message template definitions
*
* @var array
*/
protected $_messageTemplates = [self::INVALID_URL => "Invalid URL '%value%'."];
/**
* Validate value
*
* @param string $value
* @return bool
*/
public function isValid($value)
{
$this->_setValue($value);
$valid = $this->validator->isValid($value);
if (!$valid) {
$this->_error(self::INVALID_URL);
}
return $valid;
}
}
|