Yii表单元素默认值

时间:2012-02-28 14:57:46

标签: forms yii

我正在创建一个这样的表单:

$model = new RequestForm;
$form = new CForm('application.views.site.requestForm', $model);

我将表单数据保存到会话中,因此如果用户访问其他具有相似表单的页面,则输入已经填充。 requestForm.php看起来像这样:

return array(

 'showErrorSummary' => false,

 'elements' => array(
  'first_name' => array(
    'type' => 'text',
    'class' => 'standard-input',
    'value' => Yii::app()->requestFormValues->first_name,
  ),
)

现在提交表单时出现问题。假设我修改了第一个名字 - 它从会话中获取数据而不是输入中的POST数据。如何在requestForm.phprequestFormValues组件中验证表单是否已提交,以便我没有指定默认值?

亲切的问候,

玛丽安

1 个答案:

答案 0 :(得分:1)

仅在设置POST时使用默认值。否则,请使用默认

$RequestForm = new RequestForm;
if ( isset( $_POST['RequestForm'] ) ) {
    $RequestForm->attributes = $_POST['RequestForm'];
    // validate, save or more..
}
else {
    $RequestForm->attributes = readFromSession(); //return array
}

这对你有帮助吗?