2015-09-23 2 views
2

Мне нужно подтвердить форму, используя CActiveForm, но на стороне клиента.Yii - клиентская сторона CActiveForm не работает

Вот мой код, где я инициализации виджета и ошибки:

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

<?= $form->errorSummary($model); ?> 

После этого у меня есть входы и в конце концов, у меня есть это:

<?php $this->endWidget(); ?> 

Когда я отправить форму и когда я нажимаю F12 (инспектор ошибок в мозилле), «jquery.yiiactiveform.js» не загружается. Этот js-файл должен быть включен, когда я использую этот виджет.

----- ОБНОВЛЕНИЕ ----

public function rules() { 
    return array(
     //Always required 
     array('p_first_name, p_last_name, p_title, p_phone, p_phone2, p_fax, p_email, user, password, clientType', 'required'), 
     //just company 
     array('c_name, c_postal_code, c_location, c_country, c_activity, c_nif, c_website', 'required', 'on' => 'company'), 
     array('c_country, c_activity', 'numerical', 'integerOnly' => true), 
     array('c_name, c_location, c_website, p_first_name, p_last_name, p_email', 'length', 'max' => 255), 
     array('c_postal_code', 'length', 'max' => 8), 
     array('c_nif', 'length', 'max' => 9), 
     array('p_title', 'length', 'max' => 25), 
     array('p_phone, p_phone2, p_fax', 'length', 'max' => 15), 
     array('user, password', 'length', 'max' => 100), 
     // The following rule is used by search(). 
     // @todo Please remove those attributes that should not be searched. 
     array('id_client, c_name, c_postal_code, c_location, c_country, c_activity, c_nif, c_website, p_first_name, p_last_name, p_title, p_phone, p_phone2, p_fax, p_email, user, password', 'safe', 'on' => 'search'), 
    ); 
} 

И один вход пример:

<div class="form-group"> 
      <?= $form->labelEx($model, 'p_phone', array('class' => 'col-sm-2 control-label')); ?> 
      <div class="col-sm-10"> 
       <?= $form->textField($model, 'p_phone', array('class' => 'form-control', 'placeholder' => Yii::t('clients/register', 'Insira o contacto telefónico do empresário.'))); ?> 
      </div> 
     </div> 

------ ОБНОВЛЕНИЕ 2 -------

Теперь появляется сообщение об ошибке:

TypeError:. JQuery (...) yiiactiveform не является функцией

+0

Просьба представить свои вводы и правила –

ответ

0

Fixed его!

У меня было две версии jQuery, поэтому это вызывало конфликты. Итак, если у вас есть одна или две версии jQuery на main.php, удалите все!

Спасибо всем!

0

Я думаю, что вы пропустите error поля для входов:

<div class="form-group"> 
    <?= $form->labelEx($model, 'p_phone', array('class' => 'col-sm-2 control-label')); ?> 
    <div class="col-sm-10"> 
     <?= $form->textField($model, 'p_phone', array('class' => 'form-control', 'placeholder' => Yii::t('clients/register', 'Insira o contacto telefónico do empresário.'))); ?> 
    </div> 
    <?= $form->error($model, 'p_phone'); ?> 
</div> 
+0

именно то, что я собирался указать на следующее :) – Criesto

+0

@Criesto Извините, я не могу понять, что вы имеете в виду? –

+0

, который не работал:/ –

Смежные вопросы