Skip to content

Commit 15cf063

Browse files
authored
[11.x] Add optional parameter for confirmed validator rule (#52722)
* Add ability to set confirmed:fieldName * Fix style
1 parent 77b9d8e commit 15cf063

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/Illuminate/Validation/Concerns/ValidatesAttributes.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -493,11 +493,12 @@ public function validateBoolean($attribute, $value)
493493
*
494494
* @param string $attribute
495495
* @param mixed $value
496+
* @param array{0: string} $parameters
496497
* @return bool
497498
*/
498-
public function validateConfirmed($attribute, $value)
499+
public function validateConfirmed($attribute, $value, $parameters)
499500
{
500-
return $this->validateSame($attribute, $value, [$attribute.'_confirmation']);
501+
return $this->validateSame($attribute, $value, [$parameters[0] ?: $attribute.'_confirmation']);
501502
}
502503

503504
/**

tests/Validation/ValidationValidatorTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2124,6 +2124,12 @@ public function testValidateConfirmed()
21242124

21252125
$v = new Validator($trans, ['password' => '1e2', 'password_confirmation' => '100'], ['password' => 'Confirmed']);
21262126
$this->assertFalse($v->passes());
2127+
2128+
$v = new Validator($trans, ['password' => 'foo', 'passwordConfirmation' => 'foo'], ['password' => 'Confirmed:passwordConfirmation']);
2129+
$this->assertTrue($v->passes());
2130+
2131+
$v = new Validator($trans, ['password' => 'foo', 'passwordConfirmation' => 'bar'], ['password' => 'Confirmed:passwordConfirmation']);
2132+
$this->assertFalse($v->passes());
21272133
}
21282134

21292135
public function testValidateSame()

0 commit comments

Comments
 (0)