From 2bb257006e8f2dd792c46c868b3bf80c5a25a64b Mon Sep 17 00:00:00 2001 From: Asko Nomm Date: Tue, 22 Feb 2022 17:54:18 +0100 Subject: Initial commit --- src/ValidatorRules.php | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/ValidatorRules.php (limited to 'src/ValidatorRules.php') diff --git a/src/ValidatorRules.php b/src/ValidatorRules.php new file mode 100644 index 0000000..d3599e0 --- /dev/null +++ b/src/ValidatorRules.php @@ -0,0 +1,50 @@ + function (string $field, mixed $modifier = 0): string { + return "{$field} is shorter than the required ${modifier} characters."; + }, + 'validates' => function (string $value, mixed $modifier = 0): bool { + if (!isset($value) || strlen($value) < (int) $modifier) { + return false; + } + + return true; + } + ]; + } + + public static function email(): array + { + return [ + 'error' => function (string $field): string { + return "${field} is not a valid e-mail address."; + }, + 'validates' => function (string $value): bool { + if (!isset($value) || !filter_var($value, FILTER_VALIDATE_EMAIL)) { + return false; + } + + return true; + } + ]; + } + + public static function required(): array + { + return [ + 'error' => function (string $field): string { + return "${field} is required."; + }, + 'validates' => function (string $value): bool { + return isset($value) && $value !== ''; + } + ]; + } +} -- cgit v1.2.3