CActiveForm和虚拟属性

时间:2012-02-29 11:04:19

标签: php yii

如上所述here,Yii提供虚拟属性。我在模型中添加了以下内容:

public function getTest()
{
...
}

public function setTest($value)
{
...
}

在我的CActiveForm中,我使用以下内容作为Textfield:

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

打开表单时,将调用get-Method(使用调试器进行验证)。保存记录不会调用setter(每个其他属性都保存正常并正常工作)。

有人帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

我认为您缺少为变量“test”定义规则。

public function rules()
{
     $rules[] = array('test','safe');
     return $rules;
}