Skip to content

Commit 02c06f8

Browse files
authored
Confirmation field override (#48)
* update: added confirmation override support * build: updated minimum Laravel version
1 parent 158272a commit 02c06f8

File tree

5 files changed

+35
-5
lines changed

5 files changed

+35
-5
lines changed

UPGRADE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## v5
44

5+
### Upgrading from v5.2 to v5.3
6+
7+
- Minimum Laravel version increased from `11.8` to `11.23.2`.
8+
59
### Upgrading from v5.1 to v5.2
610

711
- Minimum Laravel version increased from `11.5` to `11.8`.

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
"minimum-stability": "stable",
77
"require": {
88
"php": "^8.2",
9-
"laravel/framework": "^11.8"
9+
"laravel/framework": "^11.23.2"
1010
},
1111
"require-dev": {
1212
"ext-json": "*",
13-
"orchestra/testbench": "^9.0",
13+
"orchestra/testbench": "^9.4",
1414
"phpunit/phpunit": "^10.5",
1515
"laravel/pint": "1.13.9",
1616
"larastan/larastan": "^2.0"

src/Rule.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,12 @@ public static function can(string $ability, mixed ...$arguments): Can
203203
*
204204
* @link https://laravel.com/docs/11.x/validation#rule-confirmed
205205
*/
206-
public static function confirmed(): string
206+
public static function confirmed(?string $confirmationFieldName = null): string
207207
{
208+
if ($confirmationFieldName !== null) {
209+
return 'confirmed:'.$confirmationFieldName;
210+
}
211+
208212
return 'confirmed';
209213
}
210214

src/RuleSet.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,9 +273,9 @@ public function can(string $ability, mixed ...$arguments): self
273273
*
274274
* @link https://laravel.com/docs/11.x/validation#rule-confirmed
275275
*/
276-
public function confirmed(): self
276+
public function confirmed(?string $confirmationFieldName = null): self
277277
{
278-
return $this->rule(Rule::confirmed());
278+
return $this->rule(Rule::confirmed($confirmationFieldName));
279279
}
280280

281281
/**

tests/Unit/RuleTest.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,28 @@ public static function ruleDataProvider(): array
519519
],
520520
'fails' => true,
521521
],
522+
'confirmed with override valid' => [
523+
'data' => [
524+
'field' => 'value',
525+
'fieldConfirmation' => 'value',
526+
'field_confirmation' => 'other-value',
527+
],
528+
'rules' => fn() => [
529+
'field' => RuleSet::create()->confirmed('fieldConfirmation'),
530+
],
531+
'fails' => false,
532+
],
533+
'confirmed with override invalid' => [
534+
'data' => [
535+
'field' => 'value',
536+
'fieldConfirmation' => 'other-value',
537+
'field_confirmation' => 'value',
538+
],
539+
'rules' => fn() => [
540+
'field' => RuleSet::create()->confirmed('fieldConfirmation'),
541+
],
542+
'fails' => true,
543+
],
522544
'contains valid' => [
523545
'data' => [
524546
'field' => ['a', 'b', 'c'],

0 commit comments

Comments
 (0)