Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Slug
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
1 / 1
 validate
100.00% covered (success)
100.00%
9 / 9
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3namespace Verja\Validator;
4
5use Verja\Error;
6use Verja\Validator;
7
8class Slug extends Validator
9{
10    /**
11     * Validate $value
12     *
13     * @param mixed $value
14     * @param array $context
15     * @return bool
16     */
17    public function validate($value, array $context = []): bool
18    {
19        $regex = '/^[0-9a-z-_]+$/u';
20        if (preg_match($regex, $value)) {
21            return true;
22        }
23
24        $this->error = new Error(
25            'NO_SLUG',
26            $value,
27            'value should be a valid slug'
28        );
29        return false;
30    }
31}