Proyectos de Subversion LeadersLinked - Backend

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
15394 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Validator;
6
 
7
use Laminas\Validator\AbstractValidator;
8
 
9
class HtmlColorCheck extends AbstractValidator
10
{
11
    const PATRON = '/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/';
12
    const INVALID = 'Invalid';
13
 
14
    /**
15
     * Validation failure message template definitions
16
     *
17
     * @var array
18
     */
19
    protected $messageTemplates = [
20
        self::INVALID => 'Must contain a # followed by 3 or 6 characters from A-F, a-f or 0-9',
21
    ];
22
 
23
    /**
24
     * Returns true if and only if $value contains only hexadecimal digit characters
25
     *
26
     * @param  string $value
27
     * @return bool
28
     */
29
    public function isValid($value)
30
    {
31
        $matches = [];
32
        preg_match (self::PATRON, $value, $matches);
33
 
34
        if (empty($matches)) {
35
            $valid = false;
36
            $this->error(self::INVALID);
37
        } else {
38
            $valid = true;
39
            $this->setValue($matches[0]);
40
        }
41
 
42
        return $valid;
43
    }
44
}