Validar Formularios Sin Borrar Valores

hola, tengo un formularios bastante grande y quiero validar si algún dato viene vacío, si es así que muestre un error pero que no se pierdan los datos ingresados, no puedo usar enable ajax validation en el form porque me daña el estilo de la página. Gracias.

Hice algo así pero no funciona


if (isset ( $_POST ['Ep'])) {

   if (empty ( $_POST ['Ep'] ['descripcionlegal'] ) {

     Yii::app ()->user->setFlash ( 'error', 'Debe completar todos los campos' );

   } else {

      Ep->model()->save();

   }

}


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

   'ep' => $ep //acá le paso varios modelos

) );

Gracias de antemano

Es q por defecto Yii te guarda los valores. De hecho, cuando envías un formulario y hay algún campo que no cumpla con las rules del modelo, te muestra un aviso sin perder los valores.

No entiendo pq tienes ese problema???!!!!!! No tendrías que hacer nada para q Yii tuviese ese comportamiento, sólo definir bien las rules.

Un saludo.

disculpa, y si quisiera que se borren los datos como hago???

si despues de hacer algo quiero que se borren los datos… por ejemplo guardar un campo en la base de datos…

es que cree un modelo nuevo y cuando guardo la informacion me da el mensaje exitoso pero no me deja los campos en blanco…

disculpa la molestia!!!!

Para dejarlo en blanco solo creas un nuevo model


public function actionCreate() {

    $model = new MyModel ();		

    if(isset ( $_POST ['MyModel'] )) {

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

	if ($model->save ())

            $model=new MyModel();

    }		

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

	'model' => $model 

    ) );

}

Gracias me sirvió la solución!!. :D

Yii trae un método para realizar dicha tarea unsetAttributes.

enlace : www.yiiframework.com/doc/api/1.1/CModel#unsetAttributes-detail

Usando esto ahorras memoria al no declarar un objeto extra y te queda más limpio el código.

Un saludo.