Exemplo n.º 1
0
        });
        it("sets an error message", function () {
            expect($this->validator->message('required', 'must be defined'))->toBe('must be defined');
            expect($this->validator->message('required'))->toBe('must be defined');
        });
    });
    describe("->messages()", function () {
        it("appends error messages", function () {
            Checker::reset(true);
            $validator = new Validator();
            $validator->messages(['a' => 'b']);
            $expected = ['a' => 'b', 'c' => 'd', '_default_' => 'is invalid'];
            expect($validator->messages(['c' => 'd']))->toBe($expected);
            expect($validator->messages())->toBe($expected);
        });
        it("sets error messages", function () {
            Checker::reset(true);
            $validator = new Validator();
            $validator->messages(['a' => 'b']);
            $expected = ['c' => 'd', '_default_' => 'is invalid'];
            expect($validator->messages(['c' => 'd'], false))->toBe($expected);
            expect($validator->messages())->toBe($expected);
        });
    });
    describe("::values()", function () {
        it("returns the wrapped data when no path is defined", function () {
            $data = ['title' => 'new title'];
            expect(Validator::values($data))->toBe([$data]);
        });
    });
});
Exemplo n.º 2
0
            expect(Checker::isAlphaNumeric())->toBe(false);
        });
    });
    describe("::message()", function () {
        it("gets a error message", function () {
            expect(Checker::message('required'))->toBe('is required');
        });
        it("sets an error message", function () {
            expect(Checker::message('required', 'must be defined'))->toBe('must be defined');
            expect(Checker::message('required'))->toBe('must be defined');
        });
    });
    describe("::messages()", function () {
        beforeEach(function () {
            Checker::messages(['a' => 'b'], false);
        });
        it("gets error messages", function () {
            expect(Checker::messages())->toBe(['a' => 'b', '_default_' => 'is invalid']);
        });
        it("appends error messages", function () {
            $expected = ['a' => 'b', '_default_' => 'is invalid', 'c' => 'd'];
            expect(Checker::messages(['c' => 'd']))->toBe($expected);
            expect(Checker::messages())->toBe($expected);
        });
        it("sets error messages", function () {
            $expected = ['c' => 'd', '_default_' => 'is invalid'];
            expect(Checker::messages(['c' => 'd'], false))->toBe($expected);
            expect(Checker::messages())->toBe($expected);
        });
    });
});
Exemplo n.º 3
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();