Pergunta

Estou tentando usar o Yii's ActiveForm para criar uma página de registro básica com um campo de upload de imagem. No entanto, estou enfrentando problemas. Estou usando o seguinte código para criar as tags do formulário:

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

O código acima produz a seguinte mensagem de erro em YII:

Propriedade "CactiveForm.Enctype" não está definida

Eu também tentei:

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

assim como:

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

Mas nenhum desses trabalhos.

Alguma idéia do que poderia estar errado? Posso usar o BeginWidget para criar um formulário de multipart com recursos de upload de arquivos? Qual é o formato que devo seguir para isso? Não consigo encontrar respostas na documentação ou nos fóruns.

Obrigado!

Foi útil?

Solução

Deixa para lá. Eu encontrei a solução para isso. O truque é usar htmloptions como assim:

$this->beginWidget('CActiveForm', array(
  'id'=>'activity_form', 
  'enableAjaxValidation'=>true, 
  'stateful'=>true, 
  'htmlOptions'=>array('enctype' => 'multipart/form-data')
));
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top