Form Validation Using Cjuitabs

Hi All,

I am using CJuiTabs to create a form with 4 tabs. I am facing validating issue. My form validates fields from of first tabs only. Below is the code i am using to create tabs: Form is created using four models.

<?php

$form=$this->beginWidget(‘CActiveForm’, array(

'id'=&gt;'default-parent-form',


'enableAjaxValidation'=&gt;false,


'htmlOptions' =&gt; array('enctype' =&gt; 'multipart/form-data'),

));

            &#036;tabs = array();


	


	&#036;tabs['Agent Details'] = array(


			'id'=&gt;'dataAgentTab',


			'content'=&gt;&#036;this-&gt;renderPartial('_formAgentFields', array(


					'form' =&gt; &#036;form,


					'agent_model'=&gt;&#036;agent_model,


			),


			true),


	);


	


	&#036;tabs['Users'] = array(


			'id'=&gt;'dataUserTab',


			'content'=&gt;&#036;this-&gt;renderPartial('_formUserFields', array(


					'form' =&gt; &#036;form,


					'user_model'=&gt;&#036;user_model,


			),


					true),


	);


	


	&#036;tabs['Bank Details'] = array(


			'id'=&gt;'dataBankTab',


			'content'=&gt;&#036;this-&gt;renderPartial('_formBankFields', array(


					'form' =&gt; &#036;form,


					'bank_model'=&gt;&#036;bank_model,


			),


			true),


	);


	


	&#036;tabs['Travel Association'] = array(


			'id'=&gt;'dataTravelTab',


			'content'=&gt;&#036;this-&gt;renderPartial('_formTravelFields', array(


					'form' =&gt; &#036;form,


					'travel_model'=&gt;&#036;travel_model,


			),


					true),


	);


	


	&#036;this-&gt;widget('zii.widgets.jui.CJuiTabs', array(


			'tabs' =&gt; &#036;tabs,


			'options' =&gt; array(


					'collapsible' =&gt; false,


			),


	));

echo CHtml::submitButton($agent_model->isNewRecord ? ‘Create’ : ‘Save’);

$this->endWidget();

?>

Controller:

public function actionCreate()

{


	&#036;agent_model=new AgentNew;


	&#036;bank_model = new BankTax();


	&#036;travel_model = new TravelAssociation();


	&#036;user_model = new User();





	// Uncomment the following line if AJAX validation is needed


	// &#036;this-&gt;performAjaxValidation(&#036;model);


	


	if(isset(&#036;_POST['AgentNew']))


	{


		&#036;agent_model-&gt;attributes=&#036;_POST['AgentNew'];


		&#036;agent_model-&gt;logo=CUploadedFile::getInstance(&#036;agent_model,'logo');


		if(&#036;agent_model-&gt;save()){


			&#036;agent_model-&gt;logo-&gt;saveAs(&#036;_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()-&gt;request-&gt;baseUrl.'/images/agents/'.&#036;agent_model-&gt;id.'_logo_'.&#036;agent_model-&gt;logo-&gt;extensionName);


		}


	}





	if(isset(&#036;_POST['User']) &amp;&amp; &#036;agent_model-&gt;id){


		&#036;user_model-&gt;attributes=&#036;_POST['User'];


		&#036;user_model-&gt;accountId=&#036;agent_model-&gt;accountId;


		&#036;user_model-&gt;active=1;


		&#036;user_model-&gt;ints=&#036;agent_model-&gt;ints;


		if(&#036;user_model-&gt;save()){


			//log userid


		}else{


			echo &quot;Cannot create user&quot;;


		}


	}


	


	if(isset(&#036;_POST['BankTax']) &amp;&amp; &#036;agent_model-&gt;id){


		&#036;bank_model-&gt;attributes=&#036;_POST['BankTax'];


		&#036;bank_model-&gt;agentId=&#036;agent_model-&gt;id;


		&#036;bank_model-&gt;deducteeType=(&#036;bank_model-&gt;deducteeType(&#036;bank_model-&gt;panCardNo)&#33;=false)?&#036;bank_model-&gt;deducteeType(&#036;bank_model-&gt;panCardNo):NULL;


		&#036;bank_model-&gt;ints=&#036;agent_model-&gt;ints;


		&#036;bank_model-&gt;ts=&#036;agent_model-&gt;ints;


		&#036;bank_model-&gt;panCardUrl=CUploadedFile::getInstance(&#036;bank_model,'panCardUrl');


		if(&#036;bank_model-&gt;save()){


			&#036;bank_model-&gt;panCardUrl-&gt;saveAs(&#036;_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()-&gt;request-&gt;baseUrl.'/images/agents/'.&#036;bank_model-&gt;id.'_pancard_'.&#036;bank_model-&gt;panCardUrl-&gt;extensionName);	


		}


	}


	


	if(isset(&#036;_POST['TravelAssociation']) &amp;&amp; &#036;agent_model-&gt;id){


		&#036;travel_model-&gt;attributes=&#036;_POST['TravelAssociation'];


		&#036;travel_model-&gt;agentId=&#036;agent_model-&gt;id;


		&#036;travel_model-&gt;iataNoUrl=CUploadedFile::getInstance(&#036;travel_model,'iataNoUrl');


		&#036;travel_model-&gt;iatoNoUrl=CUploadedFile::getInstance(&#036;travel_model,'iatoNoUrl');


		&#036;travel_model-&gt;etaaaNoUrl=CUploadedFile::getInstance(&#036;travel_model,'etaaaNoUrl');


		&#036;travel_model-&gt;tafiNoUrl=CUploadedFile::getInstance(&#036;travel_model,'tafiNoUrl');


		&#036;travel_model-&gt;ints=&#036;agent_model-&gt;ints;


		&#036;travel_model-&gt;ts=&#036;agent_model-&gt;ints;


		if(&#036;travel_model-&gt;save()){


			&#036;travel_model-&gt;iataNoUrl-&gt;saveAs(&#036;_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()-&gt;request-&gt;baseUrl.'/images/agents/'.&#036;agent_model-&gt;id.'_iata.'.&#036;travel_model-&gt;iataNoUrl-&gt;extensionName);


			&#036;travel_model-&gt;iatoNoUrl-&gt;saveAs(&#036;_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()-&gt;request-&gt;baseUrl.'/images/agents/'.&#036;agent_model-&gt;id.'_iato.'.&#036;travel_model-&gt;iatoNoUrl-&gt;extensionName);


			&#036;travel_model-&gt;etaaaNoUrl-&gt;saveAs(&#036;_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()-&gt;request-&gt;baseUrl.'/images/agents/'.&#036;agent_model-&gt;id.'_etaaa.'.&#036;travel_model-&gt;etaaaNoUrl-&gt;extensionName);


			&#036;travel_model-&gt;tafiNoUrl-&gt;saveAs(&#036;_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()-&gt;request-&gt;baseUrl.'/images/agents/'.&#036;agent_model-&gt;id.'_tafi.'.&#036;travel_model-&gt;tafiNoUrl-&gt;extensionName);


		}


	}


	


	if(&#036;agent_model-&gt;id)


		&#036;this-&gt;redirect(array('view','id'=&gt;&#036;agent_model-&gt;id));


	


	&#036;this-&gt;render('create',array(


		//'model'=&gt;&#036;model,


		'agent_model'=&gt;&#036;agent_model,


		'bank_model'=&gt;&#036;bank_model,


		'travel_model'=&gt;&#036;travel_model,


		'user_model'=&gt;&#036;user_model,


	));


}

If all the fields are filled. This works fine. I am not able to validate the fields for tab 2,3 and 4.

Pl help urgently.