Validar Formulario

Hola a todos soy nueva en yii y quisiera que por favor me ayudaran a resolver lo siguiente: tengo un formulario donde me aparecen los datos básicos de un usuario el cual se carga de la tabla usuario, luego dentro de este mismo formulario tengo un combobox (DropDowList) el cual se llena de otro modelo llamado rol, mi pregunta es como hago para validar que ese combo tenga seleccionado al menos una opción ya que ese combo no es un dato del modelo de usuario sino del modelo de rol y en las reglas (rules()) cuando hago referencia a ese dato me dice que no existe para el modelo usuario, gracias de antemano agradeceria muchisimo su ayuda

Por Favor alguien ayudeme a resolver esto de repente es una tonteria pero de verdad no lo veo gracias

Hola a todos encontre este articulo el cual es exactamente lo q quiero hacer pero me sale un error “Fatal error: Call to a member function getError() on a non-object in /opt/yii-1.1.3/framework/web/helpers/CHtml.php on line 1589” estoy tratando de ver porque, si lo acomodo les aviso y si saben porque sale este error les agradeceria mucho q me orientaran :)

De verdad por favor ayudenme :( aqui les voy a pasar los formularios:

el _form.php




<div class="form">


<?php $form=$this->beginWidget('CActiveForm', array(

		'id'=>'tusuario-form',

	'enableAjaxValidation'=>false,

)); ?>




	<p class="note">Campos con <span class="required">*</span> son Obligatorios.</p>


	<?php echo $form->errorSummary($model); ?>	

	

	<div class="row">

		<?php echo $form->labelEx($model,'usuario'); ?>

		<?php echo $form->textField($model,'usuario',array('size'=>40,'maxlength'=>40)); ?>

		<?php echo $form->error($model,'usuario'); ?>

	</div>


	<div class="row">

		<?php echo $form->labelEx($model,'palabra_clave'); ?>

		<?php echo $form->textField($model,'palabra_clave',array('size'=>25,'maxlength'=>25)); ?>

		<?php echo $form->error($model,'palabra_clave'); ?>

	</div>


	<div class="row">

		<?php echo $form->labelEx($model,'primer_nombre'); ?>

		<?php echo $form->textField($model,'primer_nombre',array('size'=>40,'maxlength'=>40)); ?>

		<?php echo $form->error($model,'primer_nombre'); ?>

	</div>


	<div class="row">

		<?php echo $form->labelEx($model,'apellido'); ?>

		<?php echo $form->textField($model,'apellido',array('size'=>40,'maxlength'=>40)); ?>

		<?php echo $form->error($model,'apellido'); ?>

	</div>


	<div class="row">

		<?php echo $form->labelEx($model,'email'); ?>

		<?php echo $form->textField($model,'email',array('size'=>40,'maxlength'=>40)); ?>

		<?php echo $form->error($model,'email'); ?>

	</div>

<?php /* 

	<div class="row">

		<?php echo $form->labelEx($model,'usuario_estatus'); ?>

		<?php echo $form->textField($model,'usuario_estatus'); ?>

		<?php echo $form->error($model,'usuario_estatus'); ?>

	</div>

*/ ?>

	<div class="row">

	<?php echo $form->labelEx($model,'Estado'); ?>

	<?php echo CHtml::activeDropDownList($model,'id_estado',

                                          CHtml::listData(Estados::model()->findAll(),'id_estado', 'estado'),

                                          array('prompt'=>'Seleccione >>'));?>


	<?php echo $form->error($model,'id_estado'); ?>

	</div>

	<br></br>

	<p>-------------------------------------------------------------------------------------------------------------------------</p>

	<?php echo $form->labelEx($model,'Listado de Roles'); ?>

		

	<div class="row">	

	

	<?php echo CHtml::activeDropDownList(TRbacRol::model(),'id_rol',

                                          CHtml::listData(Rol::model()->findAll(),'id_rol', 'nombre_rol'),

                                          array('prompt'=>'Seleccione >>'));?>

	<?php // echo CHtml::activeCheckBoxList(Rol::model(),'id_rol',CHtml::listData(Rol::model()->findAll(), 'id_rol', 'nombre_rol') ); ?>

	<?php //echo CHtml::activeHiddenField(Rol::model());?>		

	<?php echo CHtml::error($model,'id_rol'); ?>

	</div>


	<div class="row buttons">

		<?php echo CHtml::submitButton($model->isNewRecord ? 'Crear' : 'Guardar'); ?>

		<?php //echo CHtml::submitButton($model2->isNewRecord ? 'Crear' : 'Guardar'); ?>

	</div>


<?php $this->endWidget(); ?>


</div><!-- form -->



el action del controlador




public function actionCreate()

	{

		$model=new Usuario;

		$model2 = new Rol;

		

			

		if(isset($_POST['TUsuario']))

		{

			$model->attributes=$_POST['Usuario'];

			$model2->id_rol=$_POST['Rol'];			

			

			$valid = $model->validate();

                        $valid = $model2->validate(array('id_rol')) && $valid;

        

		if($valid == 0){

				if ($model->save()){			

				foreach ($model2->id_rol as $k => $v) {

					$model3 = new UsuarioRol;					

					$model3->id_rol = $v;

					$model3->id_usuario = $model->id_usuario;

    				$model3->save();

				}			

			}

				$this->redirect(array('view','id'=>$model->id_usuario));

				

			}

		}

		 

		$this->render('create',array(

			'model'=>$model,'model2'=>$model2,

		));

	}






no me lanza los errores en el form no los muestra

Despues de probar y buscar tanto consegui esta funcion addError(‘aqui va el nombre del combobox o checkbox con estas comillas simples’,‘el mensaje’) me imagino que sabian esto y nunca me lo respondieron por lo facil q era muchas gracias

Que verguenza… nadie contesto nisiquiera jejeje… bueno yo tambien estoy aprendiendo del framework yii (despues de haber pasado por Codeigniter y CakePHP) y veo que esta muy bueno… en lo que te pueda ayudar a investigar me avisas, porque me sera util para aprender a usar el framework a mi tambien.

Saludos desde Argentina.

koder

Hola gracias de verdad tambien estoy a la orden para las dudas que tengas Saludos :)