diff --git a/src/Illuminate/Validation/Concerns/ReplacesAttributes.php b/src/Illuminate/Validation/Concerns/ReplacesAttributes.php index 103c4f1ba525..fd9c208cf65e 100644 --- a/src/Illuminate/Validation/Concerns/ReplacesAttributes.php +++ b/src/Illuminate/Validation/Concerns/ReplacesAttributes.php @@ -260,7 +260,7 @@ protected function replaceSize($message, $attribute, $rule, $parameters) protected function replaceGt($message, $attribute, $rule, $parameters) { if (is_null($value = $this->getValue($parameters[0]))) { - return str_replace(':value', $parameters[0], $message); + return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message); } return str_replace(':value', $this->getSize($attribute, $value), $message); @@ -278,7 +278,7 @@ protected function replaceGt($message, $attribute, $rule, $parameters) protected function replaceLt($message, $attribute, $rule, $parameters) { if (is_null($value = $this->getValue($parameters[0]))) { - return str_replace(':value', $parameters[0], $message); + return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message); } return str_replace(':value', $this->getSize($attribute, $value), $message); @@ -296,7 +296,7 @@ protected function replaceLt($message, $attribute, $rule, $parameters) protected function replaceGte($message, $attribute, $rule, $parameters) { if (is_null($value = $this->getValue($parameters[0]))) { - return str_replace(':value', $parameters[0], $message); + return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message); } return str_replace(':value', $this->getSize($attribute, $value), $message); @@ -314,7 +314,7 @@ protected function replaceGte($message, $attribute, $rule, $parameters) protected function replaceLte($message, $attribute, $rule, $parameters) { if (is_null($value = $this->getValue($parameters[0]))) { - return str_replace(':value', $parameters[0], $message); + return str_replace(':value', $this->getDisplayableAttribute($parameters[0]), $message); } return str_replace(':value', $this->getSize($attribute, $value), $message); diff --git a/tests/Validation/ValidationValidatorTest.php b/tests/Validation/ValidationValidatorTest.php index 7a2866cb74b7..fc4732737660 100755 --- a/tests/Validation/ValidationValidatorTest.php +++ b/tests/Validation/ValidationValidatorTest.php @@ -1669,6 +1669,11 @@ public function testValidateGtPlaceHolderIsReplacedProperly() $this->assertFalse($v->passes()); $this->assertEquals(5, $v->messages()->first('items')); + $v = new Validator($trans, ['max' => 10], ['min' => 'numeric', 'max' => 'numeric|gt:min'], [], ['min' => 'minimum value', 'max' => 'maximum value']); + $this->assertFalse($v->passes()); + $v->messages()->setFormat(':message'); + $this->assertEquals('minimum value', $v->messages()->first('max')); + $file = $this->getMockBuilder(UploadedFile::class)->setMethods(['getSize', 'isValid'])->setConstructorArgs([__FILE__, false])->getMock(); $file->expects($this->any())->method('getSize')->will($this->returnValue(4072)); $file->expects($this->any())->method('isValid')->will($this->returnValue(true)); @@ -1706,6 +1711,11 @@ public function testValidateLtPlaceHolderIsReplacedProperly() $this->assertFalse($v->passes()); $this->assertEquals(2, $v->messages()->first('items')); + $v = new Validator($trans, ['min' => 1], ['min' => 'numeric|lt:max', 'max' => 'numeric'], [], ['min' => 'minimum value', 'max' => 'maximum value']); + $this->assertFalse($v->passes()); + $v->messages()->setFormat(':message'); + $this->assertEquals('maximum value', $v->messages()->first('min')); + $file = $this->getMockBuilder(UploadedFile::class)->setMethods(['getSize', 'isValid'])->setConstructorArgs([__FILE__, false])->getMock(); $file->expects($this->any())->method('getSize')->will($this->returnValue(4072)); $file->expects($this->any())->method('isValid')->will($this->returnValue(true)); @@ -1743,6 +1753,11 @@ public function testValidateGtePlaceHolderIsReplacedProperly() $this->assertFalse($v->passes()); $this->assertEquals(5, $v->messages()->first('items')); + $v = new Validator($trans, ['max' => 10], ['min' => 'numeric', 'max' => 'numeric|gte:min'], [], ['min' => 'minimum value', 'max' => 'maximum value']); + $this->assertFalse($v->passes()); + $v->messages()->setFormat(':message'); + $this->assertEquals('minimum value', $v->messages()->first('max')); + $file = $this->getMockBuilder(UploadedFile::class)->setMethods(['getSize', 'isValid'])->setConstructorArgs([__FILE__, false])->getMock(); $file->expects($this->any())->method('getSize')->will($this->returnValue(4072)); $file->expects($this->any())->method('isValid')->will($this->returnValue(true)); @@ -1780,6 +1795,11 @@ public function testValidateLtePlaceHolderIsReplacedProperly() $this->assertFalse($v->passes()); $this->assertEquals(2, $v->messages()->first('items')); + $v = new Validator($trans, ['min' => 1], ['min' => 'numeric|lte:max', 'max' => 'numeric'], [], ['min' => 'minimum value', 'max' => 'maximum value']); + $this->assertFalse($v->passes()); + $v->messages()->setFormat(':message'); + $this->assertEquals('maximum value', $v->messages()->first('min')); + $file = $this->getMockBuilder(UploadedFile::class)->setMethods(['getSize', 'isValid'])->setConstructorArgs([__FILE__, false])->getMock(); $file->expects($this->any())->method('getSize')->will($this->returnValue(4072)); $file->expects($this->any())->method('isValid')->will($this->returnValue(true));