I have created a form using two models name customer and shippingaddress, now the ajax validation is working for the first model elements, and for the second model.
This is the form code
The validation rules are defined for two models in their respective models.
The controller code:
for ajaxvalidation
The ajax validation is only working for the first model only..
Need some help..
This is the form code
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'customer-form',
'enableAjaxValidation'=>true,
)); ?>
<div class="requid">Required Field <span style="color:#d32c3b;">*</span></div>
<?php echo $form->errorSummary(array($model,$model2));?>
<div class="noncolor bor" style="margin-top:2%">
<?php if(Yii::app()->user->hasFlash('error4')): ?>
<div class="flash-success">
<?php echo Yii::app()->user->getFlash('error4'); ?>
</div>
<?php endif; ?>
<table class="tbl_fieldset" >
<tbody>
<tr><td></td></tr>
<tr style="display:none" >
<th class="name">Date Added</th>
<td >
<?php if($model['date_added']==''){echo $form->textField($model,'date_added',array('size'=>30,'value'=>$date));}
else{echo $form->textField($model,'date_added');}
?>
<?php echo $form->error($model,'date_added'); ?></td>
<td> </td>
</tr>
<tr >
<th class="name" >First Name <span style="color:#d32c3b;">*</span></th>
<td >
<?php echo $form->textField($model,'firstname',array('size'=>35,'maxlength'=>50)); ?>
<?php echo $form->error($model,'firstname'); ?></td>
<td> </td>
</tr>
<tr >
<th class="name" >Shipping Name<span style="color:#d32c3b;">*</span></th>
<td >
<?php echo $form->textField($model2,'name',array('size'=>35,'maxlength'=>50)); ?>
<?php echo $form->error($model2,'name'); ?></td>
<td> </td>
</tr>
<tr >
<th class="name" >Shipping Country <span style="color:#d32c3b;">*</span></th>
<td >
<?php
echo $form->dropDownList($model2,'country_id',CHtml::listData(Country::model()->findAll(), 'country_id', 'country_name','');
?>
<?php echo $form->error($model2,'country_id'); ?></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td ><?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save',array('class' => 'sub', 'onclick'=> 'assign_state_city()',)); ?> <td></tr>
</tbody>
</table>
</div>
<?php $this->endWidget(); ?>
The validation rules are defined for two models in their respective models.
The controller code:
for ajaxvalidation
$this->performAjaxValidation($model,$model2);
protected function performAjaxValidation($model,$model2)
{
if(isset($_POST['ajax']) && $_POST['ajax']==='customer-form')
{
echo CActiveForm::validate($model,$model2);
Yii::app()->end();
}
}
The ajax validation is only working for the first model only..
Need some help..