不工作enableAjaxValidation Yii

时间:2014-03-15 00:42:49

标签: php yii

在Yii中不能使用我的ajax验证。为什么呢?

public function actionRegister()
{
    $model = new Users;
    $model->scenario = 'register';

    $this->performAjaxValidation($model);

    if(isset($_POST['Users']))
    {
        $model->attributes=$_POST['Users'];
        $model->date = time();
        $model->count_login = 0;
        $model->count_orders = 0;
        $model->total_price = 0;
        $model->count_items = 0;
        if($model->save())
        {
            Yii::app()->user->setFlash('success', 'Вы успешно зарегистрировались! Подтвердите свой электронный адрес, вам было выслано письмо!');
        }else{
            Yii::app()->user->setFlash('error', 'Ошибка регистрации!');
        }
    }

    $this->render('register',array(
        'model' => $model,
    ));
}




<?php
/* @var $this SiteController */
/* @var $model Users */
/* @var $form CActiveForm */
?>
<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'users-form',
    // Please note: When you enable ajax validation, make sure the corresponding
    // controller action is handling ajax validation correctly.
    // There is a call to performAjaxValidation() commented in generated controller code.
    // See class documentation of CActiveForm for details on this.
    'action' => Yii::app()->createUrl('site/register'),
    'enableAjaxValidation'=>true,
    'enableClientValidation' => true,
    'clientOptions' => array(
        //'validationUrl' => Yii::app()->createUrl('site/register'),
        'validateOnSubmit' => true,
        'validateOnChange' => true,
        'validateOnType' => true
    )
)); ?>
<style>
label{
    width: 100%;
}
</style>
<div class="jumbotron">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title"><strong>Регистрация</strong></h3>
        </div>
        <div class="panel-body">
            <div class="alert alert-info">
                <strong>Важно!</strong> Следующие поля обязательны к заполнению. Они помогут нам успешно доставить к вам товар!
                <p>
                    <?php echo $form->errorSummary($model); ?>
                </p>
            </div>
            <fieldset>
                <label>
                    <div class="col-md-3">
                        <?php echo $form->labelEx($model,'name'); ?>
                    </div>
                    <div class="col-md-3">
                        <?php echo $form->textField($model, 'name', array('size'=>50, 'maxlength'=>50, 'class'=>'form-control')); ?>  <?php echo $form->error($model,'name'); ?>
                    </div>
                </label>
            </fieldset>

谢谢!

1 个答案:

答案 0 :(得分:2)

我被包含在JQuery中两次。需要一次和框架。

<?php Yii::app()->getClientScript()->registerCoreScript('jquery'); ?>