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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie ajax verwenden und
renderPartial
wenn Sie überprüfen möchten, ein Modell im inneren ein dialog modal box. unten ist eine ungetestete code.(Aus diesem link )in Ihrem views/signup.php
In Ihrem controller
Und schließlich in Ihrer view-Datei, wo Sie wollen, um den modal-signup-box
InformationsquelleAutor dInGd0nG
Definieren Sie die Gültigkeitsregeln in der signup-Modell.. Oder fügen Sie Ihre sign-up-Modell hier..
InformationsquelleAutor Owais Iqbal