Exemple #1
0
         expect(Checker::has('tenToNineteen'))->toBe(true);
         expect(Checker::get('zeroToNine'))->toBe('/^[0-9]$/');
         expect(Checker::get('tenToNineteen'))->toBe('/^1[0-9]$/');
     });
 });
 describe("::get()", function () {
     it("throws an exceptions for unexisting validation handler", function () {
         $closure = function () {
             Checker::get('abc');
         };
         expect($closure)->toThrow(new InvalidArgumentException("Unexisting `abc` as validation handler."));
     });
 });
 describe("::handlers()", function () {
     beforeEach(function () {
         Checker::reset(true);
         Checker::set('zeroToNine', '/^[0-9]$/');
     });
     it("gets some handlers", function () {
         expect(Checker::handlers())->toBe(['zeroToNine' => '/^[0-9]$/']);
     });
     it("appends some handlers", function () {
         $expected = ['zeroToNine' => '/^[0-9]$/', 'tenToNineteen' => '/^1[0-9]$/'];
         expect(Checker::handlers(['tenToNineteen' => '/^1[0-9]$/']))->toBe($expected);
         expect(Checker::handlers())->toBe($expected);
     });
     it("sets some handlers", function () {
         $expected = ['tenToNineteen' => '/^1[0-9]$/'];
         expect(Checker::handlers(['tenToNineteen' => '/^1[0-9]$/'], false))->toBe($expected);
         expect(Checker::handlers())->toBe($expected);
     });
Exemple #2
0
        }, 'lengthMin' => function ($value, $options = [], &$params = []) {
            $length = strlen($value);
            return isset($options['length']) && $length >= $options['length'];
        }, 'luhn' => function ($value, $options = [], &$params = []) {
            if (empty($value) || !is_string($value)) {
                return false;
            }
            $sum = 0;
            $length = strlen($value);
            for ($position = 1 - $length % 2; $position < $length; $position += 2) {
                $sum += $value[$position];
            }
            for ($position = $length % 2; $position < $length; $position += 2) {
                $number = $value[$position] * 2;
                $sum += $number < 10 ? $number : $number - 9;
            }
            return $sum % 10 === 0;
        }, 'max' => function ($value, $options = [], &$params = []) {
            return isset($options['max']) && $value <= $options['max'];
        }, 'min' => function ($value, $options = [], &$params = []) {
            return isset($options['min']) && $value >= $options['min'];
        }, 'money' => ['right' => '/^(?!0,?\\d)(?:\\d{1,3}(?:([, .])\\d{3})?(?:\\1\\d{3})*|(?:\\d+))' . '((?!\\1)[,.]\\d{2})?(?<!\\x{00a2})\\p{Sc}?$/u', 'left' => '/^(?!\\x{00a2})\\p{Sc}?(?!0,?\\d)(?:\\d{1,3}(?:([, .])\\d{3})?' . '(?:\\1\\d{3})*|(?:\\d+))((?!\\1)[,.]\\d{2})?$/u'], 'numeric' => function ($value, $options = [], &$params = []) {
            return is_numeric($value);
        }, 'phone' => '/^\\+?[0-9\\(\\)\\-]{10,20}$/', 'regex' => '/^(?:([^[:alpha:]\\\\{<\\[\\(])(.+)(?:\\1))|(?:{(.+)})|(?:<(.+)>)|' . '(?:\\[(.+)\\])|(?:\\((.+)\\))[gimsxu]*$/', 'time' => '%^((0?[1-9]|1[012])(:[0-5]\\d){0,2}([AP]M|[ap]m))$|^([01]\\d|2[0-3])(:[0-5]\\d){0,2}$%', 'url' => function ($value, $options = [], &$params = []) {
            $options += ['flags' => []];
            return (bool) filter_var($value, FILTER_VALIDATE_URL, $options);
        }, 'uuid' => "/^[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}\$/"]);
    }
}
Checker::reset();