Nel mio un'entità Doctrine, che è data_class
per la mia forma ho una proprietà di file definito in questo modo:non vuoto campo di input di file in forma Symfony2
/**
* Image.
*
* @Assert\NotBlank
* @Assert\File
* @Assert\Image(minWidth="138", minHeight="96")
*/
protected $file;
Inoltre, ha aggiunto per formare tipo con ->add('file', 'file')
...
La creazione di entità funziona perfettamente, ma il problema è quando utilizzo il modulo per aggiornare questa entità. Richiede di nuovo il file, poiché ha @Assert \ NotBlank. Dato che ho altri campi in questo formato, non voglio ricaricare l'immagine su ogni aggiornamento.
Quando rimuovo @Assert \ NotBlank, everithing funziona correttamente, ma voglio che questo campo file sia obbligatorio.
Qualche idea?
Grazie, mi ha dato idee, sicuramente :) Non capisco perché hai bisogno di un altro booleano di isUpdate, e come vengono impostati i valori? Ho controllato 'if (null! == $ this-> getId())'. Puoi controllare il mio succo https://gist.github.com/3066507. È stato persino più divertente in Symfony 2.0 quando è possibile passare contestualmente al validatore https://gist.github.com/3066488. Grazie ancora. – umpirsky
Oh, buon punto. Confrontando l'id dell'entità con null si potrebbe sicuramente dire se l'operazione è "aggiungi" o "aggiorna". E il secondo aspetto è la soluzione perfetta suppongo :) –
Sì, peccato hanno chiuso ExecutionContext e non è possibile impostare il percorso della proprietà da fuori della classe più https://github.com/symfony/symfony/blob/ac6939441fb61a17184f536391387aca78b10013 /src/Symfony/Component/Validator/ExecutionContext.php – umpirsky