summaryrefslogtreecommitdiffstats
path: root/library/Icinga/Web/Form/Validator/UrlValidator.php
blob: b1b578f5d6fb1726eb8c9e90b6c65bdc9e7472ed (plain)
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
<?php
/* Icinga Web 2 | (c) 2016 Icinga Development Team | GPLv2+ */

namespace Icinga\Web\Form\Validator;

use Zend_Validate_Abstract;

/**
 * Validator that checks whether a textfield doesn't contain raw double quotes
 */
class UrlValidator extends Zend_Validate_Abstract
{
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->_messageTemplates = array('HAS_QUOTES' => t(
            'The url must not contain raw double quotes. If you really need double quotes, use %22 instead.'
        ));
    }

    /**
     * Validate the input value
     *
     * @param   string  $value      The string to validate
     *
     * @return  bool    true if and only if the input is valid, otherwise false
     *
     * @see     Zend_Validate_Abstract::isValid()
     */
    public function isValid($value)
    {
        $hasQuotes = false === strpos($value, '"');
        if (! $hasQuotes) {
            $this->_error('HAS_QUOTES');
        }
        return $hasQuotes;
    }
}