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'=>'default-parent-form',
'enableAjaxValidation'=>false,
'htmlOptions' => array('enctype' => 'multipart/form-data'),
));
$tabs = array();
$tabs['Agent Details'] = array(
'id'=>'dataAgentTab',
'content'=>$this->renderPartial('_formAgentFields', array(
'form' => $form,
'agent_model'=>$agent_model,
),
true),
);
$tabs['Users'] = array(
'id'=>'dataUserTab',
'content'=>$this->renderPartial('_formUserFields', array(
'form' => $form,
'user_model'=>$user_model,
),
true),
);
$tabs['Bank Details'] = array(
'id'=>'dataBankTab',
'content'=>$this->renderPartial('_formBankFields', array(
'form' => $form,
'bank_model'=>$bank_model,
),
true),
);
$tabs['Travel Association'] = array(
'id'=>'dataTravelTab',
'content'=>$this->renderPartial('_formTravelFields', array(
'form' => $form,
'travel_model'=>$travel_model,
),
true),
);
$this->widget('zii.widgets.jui.CJuiTabs', array(
'tabs' => $tabs,
'options' => array(
'collapsible' => false,
),
));
echo CHtml::submitButton($agent_model->isNewRecord ? ‘Create’ : ‘Save’);
$this->endWidget();
?>
Controller:
public function actionCreate()
{
$agent_model=new AgentNew;
$bank_model = new BankTax();
$travel_model = new TravelAssociation();
$user_model = new User();
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['AgentNew']))
{
$agent_model->attributes=$_POST['AgentNew'];
$agent_model->logo=CUploadedFile::getInstance($agent_model,'logo');
if($agent_model->save()){
$agent_model->logo->saveAs($_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()->request->baseUrl.'/images/agents/'.$agent_model->id.'_logo_'.$agent_model->logo->extensionName);
}
}
if(isset($_POST['User']) && $agent_model->id){
$user_model->attributes=$_POST['User'];
$user_model->accountId=$agent_model->accountId;
$user_model->active=1;
$user_model->ints=$agent_model->ints;
if($user_model->save()){
//log userid
}else{
echo "Cannot create user";
}
}
if(isset($_POST['BankTax']) && $agent_model->id){
$bank_model->attributes=$_POST['BankTax'];
$bank_model->agentId=$agent_model->id;
$bank_model->deducteeType=($bank_model->deducteeType($bank_model->panCardNo)!=false)?$bank_model->deducteeType($bank_model->panCardNo):NULL;
$bank_model->ints=$agent_model->ints;
$bank_model->ts=$agent_model->ints;
$bank_model->panCardUrl=CUploadedFile::getInstance($bank_model,'panCardUrl');
if($bank_model->save()){
$bank_model->panCardUrl->saveAs($_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()->request->baseUrl.'/images/agents/'.$bank_model->id.'_pancard_'.$bank_model->panCardUrl->extensionName);
}
}
if(isset($_POST['TravelAssociation']) && $agent_model->id){
$travel_model->attributes=$_POST['TravelAssociation'];
$travel_model->agentId=$agent_model->id;
$travel_model->iataNoUrl=CUploadedFile::getInstance($travel_model,'iataNoUrl');
$travel_model->iatoNoUrl=CUploadedFile::getInstance($travel_model,'iatoNoUrl');
$travel_model->etaaaNoUrl=CUploadedFile::getInstance($travel_model,'etaaaNoUrl');
$travel_model->tafiNoUrl=CUploadedFile::getInstance($travel_model,'tafiNoUrl');
$travel_model->ints=$agent_model->ints;
$travel_model->ts=$agent_model->ints;
if($travel_model->save()){
$travel_model->iataNoUrl->saveAs($_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()->request->baseUrl.'/images/agents/'.$agent_model->id.'_iata.'.$travel_model->iataNoUrl->extensionName);
$travel_model->iatoNoUrl->saveAs($_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()->request->baseUrl.'/images/agents/'.$agent_model->id.'_iato.'.$travel_model->iatoNoUrl->extensionName);
$travel_model->etaaaNoUrl->saveAs($_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()->request->baseUrl.'/images/agents/'.$agent_model->id.'_etaaa.'.$travel_model->etaaaNoUrl->extensionName);
$travel_model->tafiNoUrl->saveAs($_SERVER['DOCUMENT_ROOT'].'/'.Yii::app()->request->baseUrl.'/images/agents/'.$agent_model->id.'_tafi.'.$travel_model->tafiNoUrl->extensionName);
}
}
if($agent_model->id)
$this->redirect(array('view','id'=>$agent_model->id));
$this->render('create',array(
//'model'=>$model,
'agent_model'=>$agent_model,
'bank_model'=>$bank_model,
'travel_model'=>$travel_model,
'user_model'=>$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.