Пример кода:
- Код: Выделить всё
// view code:
<?php $form = $this->beginWidget('CActiveForm', array('id'=>'user-form')); ?>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo CHtml::activeLabelEx($model,'firstName'); ?>
<?php echo CHtml::activeTextField($model,'firstName'); ?>
<?php echo $form->error($model,'firstName'); ?>
</div>
<div class="row">
<?php echo CHtml::activeLabelEx($model,'lastName'); ?>
<?php echo CHtml::activeFileField($model,'lastName'); ?>
<?php echo $form->error($model,'lastName'); ?>
</div>
<?php $this->endWidget(); ?>
- Код: Выделить всё
// controller code:
public function actionCreate()
{
$model=new User;
$this->performAjaxValidation($model);
if(isset($_POST['User']))
{
$model->attributes=$_POST['User'];
if($model->save())
$this->redirect('index');
}
$this->render('create',array('model'=>$model));
}
protected function performAjaxValidation($model)
{
if(isset($_POST['ajax']) && $_POST['ajax']==='user-form')
{
echo CActiveForm::validate($model);
Yii::app()->end();
}
}
Требуется потестировать новый класс (забрать можно из официального SVN: http://code.google.com/p/yii/source/checkout) со всеми возможными и невозможными настройками.
О результатах тестирования можно написать в этой теме на русском или на англоязычном форуме, соответственно, на английском: http://www.yiiframework.com/forum/index ... ctiveform/
