Preciso montar este campo utilizando o CHtml porque fiz o dropDown em cascata.
Tem como referenciar no dropDownList do CHtml de qual model é o campo que estou inserindo? Tenho quase certeza que o erro é por não referenciar o model do campo.
valeu Gustavo, a validação passou, mas agora gerou outro problema, não funciona o dropDownDinamico que era seguido por este:
View:
<?php $cidade = Cidade::model()->findAllCidade();
echo CHtml::dropDownList('Ficha[idcidade]','', $cidade,
array(
'empty' => 'Selecione a cidade',
'ajax' => array(
'type'=>'POST',
'url'=>CController::createUrl('ficha/dynamicarea'),
'update'=>'#idarea', //Acredito que o problema esteja aqui neste id, mas só que já tentei colocar ele com #MeuModel_idarea, #MeuModel[idarea], e não funcionou também.
)));
?>
<?php echo CHtml::dropDownList('Ficha[idarea]','', array(), array('empty' => 'Selecione a area',)); ?>
Controller:
public function actionDynamicarea()
{
$idcidade = $_POST['idcidade']; //Tentei mudar o nome deste atributo que vem do post também mas não funcionou.
$data=Area::model()->findPorCidade($idcidade);//Metodo que busca as cidades que tem o id igual ao parametro.
echo CHtml::tag('option',array('value'=>'empty'),CHtml::encode('Selecione a area'),true);
foreach($data as $value=>$name)
{
echo CHtml::tag('option',
array('value'=>$value),CHtml::encode($name),true);
}
}
Agora eu nem faço ideia mais de porque não esta funcionando o DropDown em cascata sendo que antes funcionava. Mas o problema de antes esta resolvido.