Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 9d8e1d4

Browse files
authored
Merge pull request #21 from programmatordev/YAPV-42-set-message-defaults-on-constructor-parameters
Set message defaults on constructor
2 parents 5d10217 + ed2358d commit 9d8e1d4

File tree

8 files changed

+18
-65
lines changed

8 files changed

+18
-65
lines changed

src/Rule/All.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,13 @@ class All extends AbstractRule implements RuleInterface
1111
{
1212
use ValidatableTrait;
1313

14-
private string $message;
15-
1614
/**
1715
* @param RuleInterface[] $constraints
1816
*/
1917
public function __construct(
2018
private readonly array $constraints,
21-
?string $message = null
22-
)
23-
{
24-
$this->message = $message ?? 'At "{{ key }}": {{ message }}';
25-
}
19+
private readonly string $message = 'At "{{ key }}": {{ message }}'
20+
) {}
2621

2722
public function assert(mixed $value, string $name): void
2823
{

src/Rule/Choice.php

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,16 @@
77

88
class Choice extends AbstractRule implements RuleInterface
99
{
10-
private string $message;
11-
12-
private string $multipleMessage;
13-
14-
private string $minMessage;
15-
16-
private string $maxMessage;
17-
1810
public function __construct(
1911
private readonly array $constraints,
2012
private readonly bool $multiple = false,
2113
private readonly ?int $minConstraint = null,
2214
private readonly ?int $maxConstraint = null,
23-
?string $message = null,
24-
?string $multipleMessage = null,
25-
?string $minMessage = null,
26-
?string $maxMessage = null
27-
)
28-
{
29-
$this->message = $message ?? 'The "{{ name }}" value is not a valid choice, "{{ value }}" given. Accepted values are: "{{ constraints }}".';
30-
$this->multipleMessage = $multipleMessage ?? 'The "{{ name }}" value has one or more invalid choices, "{{ value }}" given. Accepted values are: "{{ constraints }}".';
31-
$this->minMessage = $minMessage ?? 'The "{{ name }}" value must have at least {{ minConstraint }} choices, {{ numValues }} choices given.';
32-
$this->maxMessage = $maxMessage ?? 'The "{{ name }}" value must have at most {{ maxConstraint }} choices, {{ numValues }} choices given.';
33-
}
15+
private readonly string $message = 'The "{{ name }}" value is not a valid choice, "{{ value }}" given. Accepted values are: "{{ constraints }}".',
16+
private readonly string $multipleMessage = 'The "{{ name }}" value has one or more invalid choices, "{{ value }}" given. Accepted values are: "{{ constraints }}".',
17+
private readonly string $minMessage = 'The "{{ name }}" value must have at least {{ minConstraint }} choices, {{ numValues }} choices given.',
18+
private readonly string $maxMessage = 'The "{{ name }}" value must have at most {{ maxConstraint }} choices, {{ numValues }} choices given.'
19+
) {}
3420

3521
public function assert(mixed $value, string $name): void
3622
{

src/Rule/GreaterThan.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,10 @@
66

77
class GreaterThan extends AbstractComparisonRule implements RuleInterface
88
{
9-
protected string $message;
10-
119
public function __construct(
1210
protected readonly mixed $constraint,
13-
?string $message = null
14-
)
15-
{
16-
$this->message = $message ?? 'The "{{ name }}" value should be greater than "{{ constraint }}", "{{ value }}" given.';
17-
}
11+
protected readonly string $message = 'The "{{ name }}" value should be greater than "{{ constraint }}", "{{ value }}" given.'
12+
) {}
1813

1914
protected function compareValues(mixed $value1, mixed $value2): bool
2015
{

src/Rule/GreaterThanOrEqual.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,10 @@
66

77
class GreaterThanOrEqual extends AbstractComparisonRule implements RuleInterface
88
{
9-
protected string $message;
10-
119
public function __construct(
1210
protected readonly mixed $constraint,
13-
?string $message = null
14-
)
15-
{
16-
$this->message = $message ?? 'The "{{ name }}" value should be greater than or equal to "{{ constraint }}", "{{ value }}" given.';
17-
}
11+
protected readonly string $message = 'The "{{ name }}" value should be greater than or equal to "{{ constraint }}", "{{ value }}" given.'
12+
) {}
1813

1914
protected function compareValues(mixed $value1, mixed $value2): bool
2015
{

src/Rule/LessThan.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,10 @@
66

77
class LessThan extends AbstractComparisonRule implements RuleInterface
88
{
9-
protected string $message;
10-
119
public function __construct(
1210
protected readonly mixed $constraint,
13-
?string $message = null
14-
)
15-
{
16-
$this->message = $message ?? 'The "{{ name }}" value should be less than "{{ constraint }}", "{{ value }}" given.';
17-
}
11+
protected readonly string $message = 'The "{{ name }}" value should be less than "{{ constraint }}", "{{ value }}" given.'
12+
) {}
1813

1914
protected function compareValues(mixed $value1, mixed $value2): bool
2015
{

src/Rule/LessThanOrEqual.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,10 @@
66

77
class LessThanOrEqual extends AbstractComparisonRule implements RuleInterface
88
{
9-
protected string $message;
10-
119
public function __construct(
1210
protected readonly mixed $constraint,
13-
?string $message = null
14-
)
15-
{
16-
$this->message = $message ?? 'The "{{ name }}" value should be less than or equal to "{{ constraint }}", "{{ value }}" given.';
17-
}
11+
protected readonly string $message = 'The "{{ name }}" value should be less than or equal to "{{ constraint }}", "{{ value }}" given.'
12+
) {}
1813

1914
protected function compareValues(mixed $value1, mixed $value2): bool
2015
{

src/Rule/NotBlank.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,12 @@ class NotBlank extends AbstractRule implements RuleInterface
99
// Using array to bypass unallowed callable type in properties
1010
private array $normalizer;
1111

12-
private string $message;
13-
1412
public function __construct(
1513
?callable $normalizer = null,
16-
?string $message = null
14+
private readonly string $message = 'The "{{ name }}" value should not be blank, "{{ value }}" given.'
1715
)
1816
{
1917
$this->normalizer['callable'] = $normalizer;
20-
$this->message = $message ?? 'The "{{ name }}" value should not be blank, "{{ value }}" given.';
2118
}
2219

2320
/**

src/Rule/Range.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,11 @@ class Range extends AbstractRule implements RuleInterface
1212
{
1313
use ComparableTrait;
1414

15-
private string $message;
16-
1715
public function __construct(
1816
private readonly mixed $minConstraint,
1917
private readonly mixed $maxConstraint,
20-
?string $message = null
21-
)
22-
{
23-
$this->message = $message ?? 'The "{{ name }}" value should be between "{{ minConstraint }}" and "{{ maxConstraint }}", "{{ value }}" given.';
24-
}
18+
private readonly string $message = 'The "{{ name }}" value should be between "{{ minConstraint }}" and "{{ maxConstraint }}", "{{ value }}" given.'
19+
) {}
2520

2621
public function assert(mixed $value, string $name): void
2722
{

0 commit comments

Comments
 (0)