Pregunta

Estoy tratando de utilizar ActiveForm de Yii para crear una página básica de registro con un campo de carga de imágenes. Sin embargo, estoy funcionando en problemas. Estoy utilizando el siguiente código para crear las etiquetas de formulario:

$form=$this->beginWidget('CActiveForm', array(
                                'id'=>'activity_form', 
                                'enableAjaxValidation'=>true, 
                                'stateful'=>true, 
                                'enctype'=>'multipart/form-data'
                                ));

El código anterior produce el mensaje de error en Yii:

Propiedad "CActiveForm.enctype" no está definido

También he intentado:

$form=$this->beginWidget('CActiveForm', array(
                                'id'=>'activity_form', 
                                'enableAjaxValidation'=>true, 
                                'stateful'=>true, 
                                array('enctype'=>'multipart/form-data')));

así como:

$form=$this->beginWidget('CActiveForm', array(
                                'id'=>'activity_form', 
                                'enableAjaxValidation'=>true, 
                                'stateful'=>true), 
                                array('enctype'=>'multipart/form-data')));

Sin embargo, ninguno de estos trabajos.

Alguna idea de lo que podría estar mal? ¿Puedo utilizar beginWidget para crear un formulario de varias partes con capacidades de carga de archivos? ¿Cuál es el formato que debería seguir para esto? Parece que no puedo encontrar ninguna respuesta en la documentación o los foros.

Gracias!

¿Fue útil?

Solución

No importa. He encontrado la solución a esto. El truco está en htmlOptions uso de este modo:

$this->beginWidget('CActiveForm', array(
  'id'=>'activity_form', 
  'enableAjaxValidation'=>true, 
  'stateful'=>true, 
  'htmlOptions'=>array('enctype' => 'multipart/form-data')
));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top