diff --git a/src/Illuminate/Validation/Concerns/FormatsMessages.php b/src/Illuminate/Validation/Concerns/FormatsMessages.php index 0758819daaad..4d4042a4e10f 100644 --- a/src/Illuminate/Validation/Concerns/FormatsMessages.php +++ b/src/Illuminate/Validation/Concerns/FormatsMessages.php @@ -442,6 +442,10 @@ public function getDisplayableValue($attribute, $value) return $this->customValues[$attribute][$value]; } + if (is_array($value)) { + return 'array'; + } + $key = "validation.values.{$attribute}.{$value}"; if (($line = $this->translator->get($key)) !== $key) { diff --git a/tests/Validation/ValidationValidatorTest.php b/tests/Validation/ValidationValidatorTest.php index e7178b674c30..23bf82651098 100755 --- a/tests/Validation/ValidationValidatorTest.php +++ b/tests/Validation/ValidationValidatorTest.php @@ -1416,6 +1416,29 @@ public function testRequiredIf() $this->assertSame('The baz field is required when foo is empty.', $v->messages()->first('baz')); } + public function testRequiredIfArrayToStringConversationErrorException() + { + $trans = $this->getIlluminateArrayTranslator(); + $v = new Validator($trans, [ + 'is_customer' => 1, + 'fullname' => null, + ], [ + 'is_customer' => 'required|boolean', + 'fullname' => 'required_if:is_customer,true', + ]); + $this->assertTrue($v->fails()); + + $trans = $this->getIlluminateArrayTranslator(); + $v = new Validator($trans, [ + 'is_customer' => ['test'], + 'fullname' => null, + ], [ + 'is_customer' => 'required|boolean', + 'fullname' => 'required_if:is_customer,true', + ]); + $this->assertTrue($v->fails()); + } + public function testRequiredUnless() { $trans = $this->getIlluminateArrayTranslator();