16-03-2012, 00:21
(Ten post był ostatnio modyfikowany: 16-03-2012, 00:26 przez R_Rafalsky.)
Dobra to tak na szybko
Widok Login:
Widok register
Layout:
W ten sposób ID dla login i haslo są zdublowane (występują zarówno w logowaniu i rejestracji, które jednocześnie są na stronie) i powoduje błędy w JS - nie wspominam już o walidacji. Tutaj masz screen z konsoli:
http://screenshooter.net/8216679/awqscet
EDIT:
Nie chcę przerabiać żadnej z tych akcji ani nawet modelu. Jakie jest najmniej inwazyjne rozwiązanie by id w tych widgetach się różniło i poszczególne akcje mogły spokojnie walidować formularz za pomocą metod $model->attributes($_POST) i $model->validate();
W ostatniej chwili dostałem info, by logowanie i rejestracja było w formie lightboxach bez AJAXa (bo tak brzydko się ładuje a powinno być od razu) i komplikuje mi to sprawę
Widok Login:
Kod:
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'login_form_widget',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<div class="row">
<?php echo $form->label($model,'login'); ?>
<?php echo $form->textField($model,'login'); ?>
<?php echo $form->error($model,'login'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'password2'); ?>
<?php echo $form->passwordField($model,'password2'); ?>
<?php echo $form->error($model,'password2'); ?>
</div>
<div class="row rememberMe">
<?php echo $form->checkBox($model,'rememberMe'); ?>
<?php echo $form->label($model,'rememberMe'); ?>
<?php echo $form->error($model,'rememberMe'); ?>
</div>
<div class="clear"></div>
<div class="row buttons">
<?php echo CHtml::submitButton('Zaloguj',array('id'=>'lightbox_login_submit')); ?>
</div>
<?php $this->endWidget(); ?>
Widok register
Kod:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'rejestracja-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<div class="row">
<?php echo $form->labelEx($model,'login'); ?>
<?php echo $form->textField($model,'login'); ?>
<?php echo $form->error($model,'login'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'password2'); ?>
<?php echo $form->passwordField($model,'password2'); ?>
<?php echo $form->error($model,'password2'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password'); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'email'); ?>
<?php echo $form->textField($model,'email'); ?>
<span class="adnotation">E-maile nie będą ujawniane osobom trzecim</span>
<?php echo $form->error($model,'email'); ?>
</div>
<div class="accept_terms row">
<?php echo $form->checkBox($model,'accept'); ?>
<?php echo $form->labelEx($model,'accept'); ?>
<?php echo $form->error($model,'accept'); ?>
</div>
<div class="clear"></div>
<div id="register" class="row buttons">
<?php echo CHtml::submitButton('Zarejestruj',array('submit' => '/rejestracja',"id"=>"lightbox_register_submit")); ?>
</div>
</div>
<?php $this->endWidget(); ?>
Layout:
Kod:
<?php
$this->renderPartial('site/login',array('model'=>$model));
?>
<?php
$this->renderPartial('site/register',array('model'=>$model));
?>
W ten sposób ID dla login i haslo są zdublowane (występują zarówno w logowaniu i rejestracji, które jednocześnie są na stronie) i powoduje błędy w JS - nie wspominam już o walidacji. Tutaj masz screen z konsoli:
http://screenshooter.net/8216679/awqscet
EDIT:
Nie chcę przerabiać żadnej z tych akcji ani nawet modelu. Jakie jest najmniej inwazyjne rozwiązanie by id w tych widgetach się różniło i poszczególne akcje mogły spokojnie walidować formularz za pomocą metod $model->attributes($_POST) i $model->validate();
W ostatniej chwili dostałem info, by logowanie i rejestracja było w formie lightboxach bez AJAXa (bo tak brzydko się ładuje a powinno być od razu) i komplikuje mi to sprawę
Jak pomogłem daj '+'. To nie boli, a ja mam satysfakcję 
Any sufficiently advanced technology is indistinguishable from magic.

Any sufficiently advanced technology is indistinguishable from magic.