Skip to content

Commit

Permalink
actually remove the attribute
Browse files Browse the repository at this point in the history
  • Loading branch information
SjorsO committed Dec 18, 2019
1 parent 30cc4bb commit f9ea321
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/Illuminate/Validation/Validator.php
Expand Up @@ -351,7 +351,7 @@ protected function shouldBeExcluded($attribute)
*/
protected function removeAttribute($attribute)
{
unset($this->rules[$attribute]);
unset($this->data[$attribute], $this->rules[$attribute]);
}

/**
Expand Down
22 changes: 22 additions & 0 deletions tests/Validation/ValidationValidatorTest.php
Expand Up @@ -5035,6 +5035,28 @@ public function testExcludeUnless()
$this->assertSame(['mouse' => ['validation.required']], $validator->messages()->toArray());
}

public function testExcludeValuesAreReallyRemoved()
{
$validator = new Validator(
$this->getIlluminateArrayTranslator(),
['cat' => 'Tom', 'mouse' => 'Jerry'],
['cat' => 'required|string', 'mouse' => 'exclude_if:cat,Tom|required|string']
);
$this->assertTrue($validator->passes());
$this->assertSame(['cat' => 'Tom'], $validator->validated());
$this->assertSame(['cat' => 'Tom'], $validator->valid());
$this->assertSame([], $validator->invalid());

$validator = new Validator(
$this->getIlluminateArrayTranslator(),
['cat' => 'Tom', 'mouse' => null],
['cat' => 'required|string', 'mouse' => 'exclude_if:cat,Felix|required|string']
);
$this->assertTrue($validator->fails());
$this->assertSame(['cat' => 'Tom'], $validator->valid());
$this->assertSame(['mouse' => null], $validator->invalid());
}

protected function getTranslator()
{
return m::mock(TranslatorContract::class);
Expand Down

0 comments on commit f9ea321

Please sign in to comment.