1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?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;
}
}