Passed
Branch main (c6b4b7)
by Breno
02:14
created

Email   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
c 1
b 0
f 0
dl 0
loc 15
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A isValid() 0 5 2
1
<?php
2
declare(strict_types=1);
3
4
namespace BrenoRoosevelt\Validation\Rules;
5
6
use Attribute;
7
8
#[Attribute(Attribute::TARGET_PROPERTY)]
9
class Email extends AbstractValidation
10
{
11
    const MESSAGE = 'Invalid e-mail';
12
13
    public function __construct(?string $message = self::MESSAGE)
14
    {
15
        parent::__construct($message);
16
    }
17
18
    public function isValid($input, array $context = []): bool
19
    {
20
        return
21
            is_string($input) &&
22
            filter_var($input, FILTER_VALIDATE_EMAIL) !== false;
23
    }
24
}
25