public function testValidation() { /** @var FileFieldListener $mockFileFieldListener */ $mockFileFieldListener = $this->getMock('ch\\metanet\\formHandler\\listener\\FileFieldListener'); /** @var Form $mockForm */ $mockForm = $this->getMock('ch\\metanet\\formHandler\\component\\Form'); $field = new FileField('field1', 'field1'); $field->setFormComponent($mockForm); $field->addListener($mockFileFieldListener); $this->assertTrue($field->validate()); }
/** * @param FileField $field * * @return string */ public function render(FileField $field) { $required = null; if ($field->hasRule('ch\\metanet\\formHandler\\rule\\RequiredRule')) { $required = ' aria-required="true"'; } if ($this->numberOfFiles <= 1) { return '<input type="file" name="' . $field->getFormIdentifierAsString() . '" id="' . $field->getId() . '" ' . $this->getAttributesAsHtml() . $required . '>'; } $field->setLinkedLabel(false); $html = '<ul' . $this->getAttributesAsHtml() . '>'; for ($i = 0; $i < $this->numberOfFiles; $i++) { $html .= '<li><input type="file" name="' . $field->getFormIdentifierAsString() . '[]" id="' . $field->getId() . '-' . $i . '" ' . ($i === 0 ? $required : null) . '></li>'; } $html .= '</ul>'; return $html; }