En mi entidad Doctrina, que es data_class
para mi forma I tiene un fichero propiedad definida así:campo de entrada de archivo en blanco no en forma de Symfony2
/**
* Image.
*
* @Assert\NotBlank
* @Assert\File
* @Assert\Image(minWidth="138", minHeight="96")
*/
protected $file;
Además, añade que para formar el tipo con ->add('file', 'file')
...
Crear entidad funciona perfecto, pero el problema es cuando uso el formulario para actualizar esta entidad. Solicita el archivo nuevamente, ya que tiene @Asertar \ NotBlank. Como tengo otros campos en este formulario, no quiero volver a cargar la imagen en cada actualización.
Cuando elimino @Assert \ NotBlank, todo funciona bien, pero quiero que este campo de archivo sea obligatorio.
¿Alguna idea?
Gracias, eso me dio ideas, definitivamente :) No entiendo por qué necesita otro isUpdate booleano, y ¿cómo se establecen esos valores? Comprobé 'if (null! == $ this-> getId())'. Puedes consultar mi esencia https://gist.github.com/3066507. Incluso fue más divertido en Symfony 2.0 cuando puedes pasar el contexto al validador https://gist.github.com/3066488. Gracias de nuevo. – umpirsky
Oh, buen punto. Al comparar ID de entidad con nulo, definitivamente podría decir si la operación es "agregar" o "actualizar". Y la segunda esencia es la solución perfecta, supongo :) –
Sí, lástima que cerraron ExecutionContext y ya no es posible establecer la ruta de la propiedad fuera de la clase https://github.com/symfony/symfony/blob/ac6939441fb61a17184f536391387aca78b10013 /src/Symfony/Component/Validator/ExecutionContext.php – umpirsky