6

У меня есть активная форма в моем приложении. Но проверка на стороне клиента не работает. Код формы приведены ниже:Проверка на стороне клиента Yii- не работает на CActiveForm

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'application-data-student-form', 
    'enableAjaxValidation'=>false, 
    'enableClientValidation'=>true, 
    'clientOptions'=>array('onSubmit'=>true), 
    'htmlOptions'=>array(
     'enctype'=>'multipart/form-data', 
     'role'=>'form', 
     'class'=>'form-horizontal' 
    ), 
)); ?> 

Я использовал самозагрузку 3 в моем проекте. Любая идея или решение будут высоко оценены от кого-либо. , ,

+0

Можете ли вы показать полный код просмотра, метод 'rules' и код действия контроллера? – Goodnickoff

+0

Контроллер и модели генерируются crud. поэтому, я думаю, на них нет проблем. Я просто хочу проверить правильность полей. – dlthp

+0

А как насчет вида (как вы создаете поля формы)? – Goodnickoff

ответ

3

Я, наконец, решить эту проблему. Я публикую это, чтобы он помог кому-то с той же проблемой.

Проблема возникла из-за неправильной загрузки jquery.js в приложение. Файл карты отсутствовал, что требуется jquery.js. Поэтому я загрузил последний файл jquery 2.1.1.min.js & соответствующего файла карты из [http://jquery.com/download/] и загрузил их в основной макет. Теперь валидация наконец-то работает.

Надеюсь, что это обход поможет кому-то с той же проблемой.

1

Попробуйте добавить в модель действий что-то вроде этого:

if (Yii::app()->request->isAjaxRequest){ 
    echo CActiveForm::validate($model); 
    Yii::app()->end(); 
} 

или uncoment эта линия

// Uncomment the following line if AJAX validation is needed 
// $this->performAjaxValidation($model); 
+0

Я не использую проверку ajax. Следовательно, вышеупомянутый подход может и не быть причиной. , , – dlthp