Столкнулся со след. проблемой - есть 2 поля password & password2 (служит для подтверждения пароля).
Форма выглядит примерно так:
Код: Выделить всё
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'registration-form',
'enableAjaxValidation'=>true,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<?php echo $form->labelEx($model,'firstname'); ?>
<?php echo $form->textField($model,'firstname',array('size'=>32,'maxlength'=>32)); ?>
<?php echo $form->error($model,'firstname'); ?>
<?php echo $form->labelEx($model,'lastname'); ?>
<?php echo $form->textField($model,'lastname',array('size'=>32,'maxlength'=>32)); ?>
<?php echo $form->error($model,'lastname'); ?>
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password',array('size'=>32,'maxlength'=>32)); ?>
<?php echo $form->error($model,'password'); ?>
<?php echo $form->labelEx($model,'password2'); ?>
<?php echo $form->passwordField($model,'password2',array('size'=>32,'maxlength'=>32)); ?>
<?php echo $form->error($model,'password2'); ?>
<?php echo CHtml::submitButton('Create'); ?>
<?php $this->endWidget(); ?>
Код: Выделить всё
public function rules()
{
return array(
// username and password are required
array('password', 'required'),
//TODO if removes password2 nothing sent to server from password2 field
array('password', 'compare', 'compareAttribute'=>'password2', 'on'=>'register'),
array('password', 'length', 'max'=>128),
);
}
Делаю var_dump после отправки формы, в $model->attributes записывается только password, password2 = null.
Либо здесь такая логика не идет, и все же необходимо password2 добавить в required rule?