Для того, чтобы работала клиентская валидация, в форме обязательно должны быть вызовы CActiveForm::error() для всех полей, по которым нужна валидация, причем вне зависимости от того, нужно ли визуально отображать ошибки или нет. В последнем случае нужно еще добавить соответствующий параметр:
$checkOrderForm = $this->beginWidget('CActiveForm', array(
'id' => 'check-order-form',
'stateful' => true,
'enableClientValidation' => TRUE,
'clientOptions' => array(
'hideErrorMessage' => true,
),
));
Еще обратите внимание на то, что по умолчанию класс error вешается не на инпут, а на ближайшего родителя, подходящего под селектор, указанный в inputContainer все того же параметра clientOptions, по умолчанию это 'div'.