Yii отображение и проверка полей, не представленных в таблице - PullRequest
1 голос
/ 12 января 2012

Я новичок в Yii.Я создал страницу, где пользователь может изменить свой пароль.

Итак, в моем представлении changePassword у меня есть:

<div class="row">
    <?php echo $form->labelEx($model,'oldpwd'); ?>
    <?php echo $form->textField($model,'oldpwd'); ?>
    <?php echo $form->error($model,'oldpwd'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'pwd'); ?>
    <?php echo $form->textField($model,'pwd'); ?>
    <?php echo $form->error($model,'pwd'); ?>
</div>

<div class="row">
    <?php echo $form->labelEx($model,'pwd_repeat'); ?>
    <?php echo $form->passwordField($model,'pwd_repeat'); ?>
    <?php echo $form->error($model,'pwd_repeat'); ?>
</div>

Теперь, очевидно, я получаю сообщение об ошибке, так как только поле 'pwd'в таблице и, следовательно, в модели.Я новичок в фреймворках MVC и могу использовать некоторую помощь здесь.Спасибо

Ответы [ 2 ]

2 голосов
/ 12 января 2012

Объявите их в вашей модели как свойство модели First ..

public $old_pwd;
public $pwd;
public $pwd_repeat;

Когда вы запрашиваете у модели Метки этих атрибутов .. определите их в вашей функции attributeLabels в модели ..

public function attributeLabels()
{
    return array(
        'old_pwd'=>'Old Passw....',
                     '.....same way for all those who are not already there..'
    );
}

При необходимости объявить их безопасными в правилах ...

0 голосов
/ 12 января 2012

добавить следующую строку в вашу модель

public $old_pwd;  
public $pwd_repeat;

мы даем указание Yii использовать это поле как виртуальное поле вместо поиска в поле базы данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...