yii modales Dialogfeld Formular-Validierung

Ich bin mit yii framework für meine website. Ich habe ein Anmeldeformular in der modal-box. Wenn ich senden Sie das Formular ohne ausfüllen Fehler anzeigen sollte, die innerhalb der modal box ohne refresh. Aber jetzt ist es leitet auf einigen anderen Seite. Wie kann ich die validation errors within the modal box auf der gleichen Seite?

Dies ist der code, den ich benutzt habe, sign up view

<?php 
    $model=new SignupForm;

  $form=$this->beginWidget('CActiveForm', array(
    'id'=>'signup-form',
    'enableAjaxValidation'=>true,
    'action'=>'site/signup'
));
?>
<?php echo $form->errorSummary($model); ?> 
<?php echo $form->textField($model,'name',array('value'=>'Enter Your Name', 'onclick'=>'javascript:this.value=""', 'onblur'=> 'this.value = ( this.value == "" ) ? "Enter Your Name" : this.value;')); ?><br />
<?php echo $form->textField($model,'email',array('value'=>'Enter Your Email ID', 'onclick'=>'javascript:this.value=""', 'onblur'=> 'this.value = ( this.value == "" ) ? "Enter Your Email ID" : this.value;')); ?><br />
<?php echo $form->textField($model,'phone',array('value'=>'Telephone', 'onclick'=>'javascript:this.value=""', 'onblur'=> 'this.value = ( this.value == "" ) ? "Telephone" : this.value;')); ?><br />
    <!--<input type="text" value="username" onClick="this.value=''"/><br/>
    <input type="password" value="Password" onClick="this.value=''"/>    -->
  <div class="d-login"><?php echo CHtml::submitButton('Submit'); ?>
  <?php /*?><input type="image" alt="Login" title="Login" src="<?php echo Yii::app()->request->baseUrl; ?>/images/signup.png"/><?php */?>
  </div>
  <?php $this->endWidget(); ?>

Den code in controller:

public function actionSignup()
    {
        $model=new SignupForm;

        //if it is ajax validation request
        if(isset($_POST['ajax']) && $_POST['ajax']==='signup-form')
        {
            $model->attributes=$_POST['SignupForm'];
            echo CActiveForm::validate($model);
            Yii::app()->end();
        }


        //collect input data
        if(isset($_POST['SignupForm']))
        {
            $model->attributes=$_POST['SignupForm'];
            $name=$model->name;
            $email=$model->email;
            $phone=$model->phone;

            $newsletter = new Newsletter();


            if($model->validate())
            {

                //insert  data
                $newsletter->varName = $name;
                $newsletter->varEmail = $email;
                $newsletter->varPhone = $phone;
                if($newsletter->save()) {
                $url = Yii::app()->getBaseUrl();
                Yii::app()->getRequest()->redirect($url);
                    }

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

        }

InformationsquelleAutor designersvsoft | 2012-05-06

Schreibe einen Kommentar