Переделываю на обычный CForm - все работает.
Конфиг для TbForm
Код: Выделить всё
<?php
return array(
'title' => 'Пожалуйста, представьтесь',
'showErrorSummary' => FALSE,
'id' => 'products-form',
'activeForm' => array(
//'class' => 'TbActiveForm',
//'enableAjaxValidation' => TRUE,
'enableClientValidation' => true,
'clientOptions' => array(
'validateOnSubmit' => TRUE,
'validateOnChange' => TRUE,
'validateOnType' => TRUE,
),
),
'elements' => array(
'name' => array(
'type' => 'text',
'maxlength'=> 32,
),
),
'buttons' => array(
'create'=> array(
'type' => 'submit',
'label'=> $this->model->isNewRecord ? 'Создать' : 'Обновить',
//'scenario' => 'create',
),
),
);
Код: Выделить всё
public function actionTest2() {
$model = new Products;
$model->isNewRecord = false;
$this->performAjaxValidation($model);
Yii::import('bootstrap.widgets.TbForm');
$form = TbForm::createForm('application.forms.productsForm' , $model);
//$form = new CForm('application.forms.productsForm', $model);
//var_dump($form);
if(isset($_POST['Products'])) {
$model->attributes=$_POST['Products'];
if($model->save())
$this->redirect(array('view','id'=>$model->id));
}
$this->render('test', array('form'=> $form));
}
Код: Выделить всё
<?php
//var_dump($form);
echo $form->render();
При включенной ajax валидации - данные даже не уходят на сервер, идет сразу перегрузка страницы.
В чем может быть проблема? По идее пишут, что TbForm должен поддерживать эти настройки, да и по сути он наследуется от CForm