Ik maak mijn formulieren via de annotation builder icm doctrine2. Wanneer ik een element van het type: 'file' heb, krijg ik altijd onderstaande melding wanneer ik mijn formulier submit zonder een bestand te hebben gekozen.

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'company_logo' cannot be null


In de database mag dit veld null zijn en ook in de annotations staat dit aangegeven:
    /**
     * @var integer
     *
     * @ORM\Column(name="company_logo", type="string", length=255, nullable=true)
     * 
     * @Annotation\Type("Zend\Form\Element\File")
     * @Annotation\Filter({"name":"StripTags"})
     * @Annotation\Options({"label":"Logo:"})
     */
    private $companylogo;


Wanneer ik het inputfilter van het betreffende element dump op mijn scherm, krijg ik het volgende:
object(stdClass)#1162 (15) {
  ["__CLASS__"]=>
  string(26) "Zend\InputFilter\FileInput"
  ["isValid"]=>
  bool(false)
  ["autoPrependUploadValidator"]=>
  bool(true)
  ["allowEmpty"]=>
  bool(true)
  ["continueIfEmpty"]=>
  bool(true)
  ["breakOnFailure"]=>
  bool(false)
  ["errorMessage"]=>
  NULL
  ["filterChain"]=>
  object(stdClass)#1216 (4) {
    ["__CLASS__"]=>
    string(23) "Zend\Filter\FilterChain"
    ["plugins"]=>
    NULL
    ["filters"]=>
    string(25) "Zend\Stdlib\PriorityQueue"
    ["options"]=>
    string(8) "Array(0)"
  }
  ["name"]=>
  string(11) "companylogo"
  ["notEmptyValidator"]=>
  bool(false)
  ["required"]=>
  bool(false)
  ["validatorChain"]=>
  object(stdClass)#1220 (4) {
    ["__CLASS__"]=>
    string(29) "Zend\Validator\ValidatorChain"
    ["plugins"]=>
    NULL
    ["validators"]=>
    string(8) "Array(0)"
    ["messages"]=>
    string(8) "Array(0)"
  }
  ["value"]=>
  NULL
  ["fallbackValue"]=>
  NULL
  ["hasFallback"]=>
  bool(false)
}


Heeft iemand enig idee?

Reageren