diff --git a/Form/FieldTypeHandler/TextLine.php b/Form/FieldTypeHandler/TextLine.php index a3fa2e3..3c4dcb5 100644 --- a/Form/FieldTypeHandler/TextLine.php +++ b/Form/FieldTypeHandler/TextLine.php @@ -52,11 +52,11 @@ protected function buildFieldForm( $minStringLength = $fieldDefinition->validatorConfiguration['StringLengthValidator']['minStringLength']; $maxStringLength = $fieldDefinition->validatorConfiguration['StringLengthValidator']['maxStringLength']; - if ($minStringLength !== false) { + if (!empty($minStringLength)) { $lengthConstraints['min'] = $minStringLength; } - if ($maxStringLength !== false) { + if (!empty($maxStringLength)) { $lengthConstraints['max'] = $maxStringLength; } diff --git a/Tests/Form/FieldTypeHandler/TextLineTest.php b/Tests/Form/FieldTypeHandler/TextLineTest.php index cda5075..59e657c 100644 --- a/Tests/Form/FieldTypeHandler/TextLineTest.php +++ b/Tests/Form/FieldTypeHandler/TextLineTest.php @@ -78,4 +78,36 @@ public function testBuildFieldCreateForm() $text = new TextLine(); $text->buildFieldCreateForm($formBuilder, $fieldDefinition, $languageCode); } + + public function testBuildFieldCreateFormWithStringLengthsNull() + { + $formBuilder = $this->getMockBuilder(FormBuilder::class) + ->disableOriginalConstructor() + ->setMethods(array('add')) + ->getMock(); + + $formBuilder->expects($this->once()) + ->method('add'); + + $fieldDefinition = new FieldDefinition( + array( + 'id' => 'id', + 'identifier' => 'identifier', + 'isRequired' => true, + 'descriptions' => array('fre-FR' => 'fre-FR'), + 'names' => array('fre-FR' => 'fre-FR'), + 'validatorConfiguration' => array( + 'StringLengthValidator' => array( + 'minStringLength' => null, + 'maxStringLength' => null, + ), + ), + ) + ); + + $languageCode = 'eng-GB'; + + $text = new TextLine(); + $text->buildFieldCreateForm($formBuilder, $fieldDefinition, $languageCode); + } }