Допустим, у нас есть модель, у которой много полей. В форме мы выводим не все поля + на форму включаем валидацию по аяксу. В конроллере мы устанавливаем значения аттрибутам модели, которые пришли из поста и вызываем валидацию:
Код: Выделить всё
echo CActiveForm::validate($model, null, false);
Как я понял, JSON с ошибкой вовращается, но поскольку не содержит информации об ошибках для тех полей, что есть на форме, то считается, что ошибки нет.
Пример,
1) Модель "Comment" содержит аттрибуты: name, text
2) На форме выводится только "name"
3) В контроллере
Код: Выделить всё
$model = new Comment;
$model->attributes = $_POST['Comment'];
$model->text = ''; //Ошибка, текст не может быть пустым
echo CActiveForm::validate($model, null, false);