Yii未使用clientValidation时未定义yiiactiveform

时间:2014-12-08 15:32:12

标签: php jquery ajax yii

我使用Yii 1.1.14

我使用表单来捕获电子邮件,而不是使用Yii ajaxValidation / clientValidation

<?php $form = $this->beginWidget('CActiveForm', array(
    'id' => 'form-newsletter',
    'action' => null,
    'focus' => array($model, 'email'),
    'htmlOptions' => array(
        'role' => 'form',
    ),
)); ?>

我在js console

得到了这个
Uncaught TypeError: undefined is not a function

参考这个

jQuery('#form-newsletter').yiiactiveform({'validateOnSubmit':true,'validateOnChange':true,'errorCssClass':'has-error has-feedback','successCssClass':'has-success has-feedback','inputContainer':'div.form-group','attributes':[{'id':'NewsletterForm_email','inputID':'NewsletterForm_email','errorID':'NewsletterForm_email_em_','model':'NewsletterForm','name':'email','enableAjaxValidation':true,'clientValidation':function(value, messages, attribute) {

我还检查jquery.yiiactiveform.js是否存在。

问题是,我不想使用默认的ajaxValidation / clientValidation,为什么要加载它?为什么它告诉yiiactiveform是未定义的?

谢谢。

2 个答案:

答案 0 :(得分:3)

检查您是否包含比Yii包含的更新版本的jQuery(例如2.x)用于验证。

答案 1 :(得分:2)

如果您使用其他自定义javascripts,则必须在布局代码中使用,例如:

Yii::app()->clientScript->registerScriptFile(Yii::app()->request->baseUrl . '/js/bootstrap.min.js');