From ed2358dbd3be111b09b34d906afe63fdc65ec770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pimpa=CC=83o?= Date: Wed, 9 Aug 2023 19:29:11 +0100 Subject: [PATCH] chore: moved error default messages to constructor --- src/Rule/All.php | 9 ++------- src/Rule/Choice.php | 24 +++++------------------- src/Rule/GreaterThan.php | 9 ++------- src/Rule/GreaterThanOrEqual.php | 9 ++------- src/Rule/LessThan.php | 9 ++------- src/Rule/LessThanOrEqual.php | 9 ++------- src/Rule/NotBlank.php | 5 +---- src/Rule/Range.php | 9 ++------- 8 files changed, 18 insertions(+), 65 deletions(-) diff --git a/src/Rule/All.php b/src/Rule/All.php index 8c02516..a516246 100644 --- a/src/Rule/All.php +++ b/src/Rule/All.php @@ -11,18 +11,13 @@ class All extends AbstractRule implements RuleInterface { use ValidatableTrait; - private string $message; - /** * @param RuleInterface[] $constraints */ public function __construct( private readonly array $constraints, - ?string $message = null - ) - { - $this->message = $message ?? 'At "{{ key }}": {{ message }}'; - } + private readonly string $message = 'At "{{ key }}": {{ message }}' + ) {} public function assert(mixed $value, string $name): void { diff --git a/src/Rule/Choice.php b/src/Rule/Choice.php index 74b92ea..397b060 100644 --- a/src/Rule/Choice.php +++ b/src/Rule/Choice.php @@ -7,30 +7,16 @@ class Choice extends AbstractRule implements RuleInterface { - private string $message; - - private string $multipleMessage; - - private string $minMessage; - - private string $maxMessage; - public function __construct( private readonly array $constraints, private readonly bool $multiple = false, private readonly ?int $minConstraint = null, private readonly ?int $maxConstraint = null, - ?string $message = null, - ?string $multipleMessage = null, - ?string $minMessage = null, - ?string $maxMessage = null - ) - { - $this->message = $message ?? 'The "{{ name }}" value is not a valid choice, "{{ value }}" given. Accepted values are: "{{ constraints }}".'; - $this->multipleMessage = $multipleMessage ?? 'The "{{ name }}" value has one or more invalid choices, "{{ value }}" given. Accepted values are: "{{ constraints }}".'; - $this->minMessage = $minMessage ?? 'The "{{ name }}" value must have at least {{ minConstraint }} choices, {{ numValues }} choices given.'; - $this->maxMessage = $maxMessage ?? 'The "{{ name }}" value must have at most {{ maxConstraint }} choices, {{ numValues }} choices given.'; - } + private readonly string $message = 'The "{{ name }}" value is not a valid choice, "{{ value }}" given. Accepted values are: "{{ constraints }}".', + private readonly string $multipleMessage = 'The "{{ name }}" value has one or more invalid choices, "{{ value }}" given. Accepted values are: "{{ constraints }}".', + private readonly string $minMessage = 'The "{{ name }}" value must have at least {{ minConstraint }} choices, {{ numValues }} choices given.', + private readonly string $maxMessage = 'The "{{ name }}" value must have at most {{ maxConstraint }} choices, {{ numValues }} choices given.' + ) {} public function assert(mixed $value, string $name): void { diff --git a/src/Rule/GreaterThan.php b/src/Rule/GreaterThan.php index fc9a0e1..a3d965e 100644 --- a/src/Rule/GreaterThan.php +++ b/src/Rule/GreaterThan.php @@ -6,15 +6,10 @@ class GreaterThan extends AbstractComparisonRule implements RuleInterface { - protected string $message; - public function __construct( protected readonly mixed $constraint, - ?string $message = null - ) - { - $this->message = $message ?? 'The "{{ name }}" value should be greater than "{{ constraint }}", "{{ value }}" given.'; - } + protected readonly string $message = 'The "{{ name }}" value should be greater than "{{ constraint }}", "{{ value }}" given.' + ) {} protected function compareValues(mixed $value1, mixed $value2): bool { diff --git a/src/Rule/GreaterThanOrEqual.php b/src/Rule/GreaterThanOrEqual.php index 90ca8ed..b7d9947 100644 --- a/src/Rule/GreaterThanOrEqual.php +++ b/src/Rule/GreaterThanOrEqual.php @@ -6,15 +6,10 @@ class GreaterThanOrEqual extends AbstractComparisonRule implements RuleInterface { - protected string $message; - public function __construct( protected readonly mixed $constraint, - ?string $message = null - ) - { - $this->message = $message ?? 'The "{{ name }}" value should be greater than or equal to "{{ constraint }}", "{{ value }}" given.'; - } + protected readonly string $message = 'The "{{ name }}" value should be greater than or equal to "{{ constraint }}", "{{ value }}" given.' + ) {} protected function compareValues(mixed $value1, mixed $value2): bool { diff --git a/src/Rule/LessThan.php b/src/Rule/LessThan.php index 1bf7d10..006033f 100644 --- a/src/Rule/LessThan.php +++ b/src/Rule/LessThan.php @@ -6,15 +6,10 @@ class LessThan extends AbstractComparisonRule implements RuleInterface { - protected string $message; - public function __construct( protected readonly mixed $constraint, - ?string $message = null - ) - { - $this->message = $message ?? 'The "{{ name }}" value should be less than "{{ constraint }}", "{{ value }}" given.'; - } + protected readonly string $message = 'The "{{ name }}" value should be less than "{{ constraint }}", "{{ value }}" given.' + ) {} protected function compareValues(mixed $value1, mixed $value2): bool { diff --git a/src/Rule/LessThanOrEqual.php b/src/Rule/LessThanOrEqual.php index 9850585..5833b8c 100644 --- a/src/Rule/LessThanOrEqual.php +++ b/src/Rule/LessThanOrEqual.php @@ -6,15 +6,10 @@ class LessThanOrEqual extends AbstractComparisonRule implements RuleInterface { - protected string $message; - public function __construct( protected readonly mixed $constraint, - ?string $message = null - ) - { - $this->message = $message ?? 'The "{{ name }}" value should be less than or equal to "{{ constraint }}", "{{ value }}" given.'; - } + protected readonly string $message = 'The "{{ name }}" value should be less than or equal to "{{ constraint }}", "{{ value }}" given.' + ) {} protected function compareValues(mixed $value1, mixed $value2): bool { diff --git a/src/Rule/NotBlank.php b/src/Rule/NotBlank.php index 50ae235..586014d 100644 --- a/src/Rule/NotBlank.php +++ b/src/Rule/NotBlank.php @@ -9,15 +9,12 @@ class NotBlank extends AbstractRule implements RuleInterface // Using array to bypass unallowed callable type in properties private array $normalizer; - private string $message; - public function __construct( ?callable $normalizer = null, - ?string $message = null + private readonly string $message = 'The "{{ name }}" value should not be blank, "{{ value }}" given.' ) { $this->normalizer['callable'] = $normalizer; - $this->message = $message ?? 'The "{{ name }}" value should not be blank, "{{ value }}" given.'; } /** diff --git a/src/Rule/Range.php b/src/Rule/Range.php index 25497bf..ef8e846 100644 --- a/src/Rule/Range.php +++ b/src/Rule/Range.php @@ -12,16 +12,11 @@ class Range extends AbstractRule implements RuleInterface { use ComparableTrait; - private string $message; - public function __construct( private readonly mixed $minConstraint, private readonly mixed $maxConstraint, - ?string $message = null - ) - { - $this->message = $message ?? 'The "{{ name }}" value should be between "{{ minConstraint }}" and "{{ maxConstraint }}", "{{ value }}" given.'; - } + private readonly string $message = 'The "{{ name }}" value should be between "{{ minConstraint }}" and "{{ maxConstraint }}", "{{ value }}" given.' + ) {} public function assert(mixed $value, string $name): void {