Значения по умолчанию для элементов формы Yii - PullRequest
1 голос
/ 28 февраля 2012

Я создаю форму, подобную этой:

$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.php или в requestFormValues компоненте, была ли отправлена ​​форма, поэтому я не указываю значение по умолчанию?

С уважением,

Marian

1 Ответ

1 голос
/ 28 февраля 2012

Использовать значение по умолчанию, только когда установлен POST. В противном случае используйте значение по умолчанию

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

тебе это помогает?

...