2012-02-28 4 views
1

나는이 같은 형태로 만드는 오전 :YII 폼 요소의 디폴트 값

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

내가 세션에 양식 데이터를 저장하고 그렇게 그 사용자가 방문하는 경우 유사한 형태가 다른 페이지 입력 이미 채워져 있습니다. 내가 양식을 제출하면

return array(

'showErrorSummary' => false, 

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

지금 문제가 발생합니다 requestForm.php는 다음과 같이 보인다. 첫 번째 이름을 수정했다고 가정 해 봅시다. 입력 된 POST 데이터 대신 세션에서 데이터를 가져옵니다. 양식을 제출했는데 기본값을 지정하지 않으면 requestForm.php 또는 requestFormValues 구성 요소에 어떻게 확인할 수 있습니까?

친절 감사를

마리아

+0

이 문제가 해결 될지 잘 모르겠지만'setFlash'와'getFlash'가 도움이 될 것 같습니다. 양식을 게시 할 때 변수를 설정하여 메시지를 플래시하고 필요할 때 전화하십시오. Btw, 자세한 내용은이 체크 아웃 : http://www.yiiframework.com/wiki/21/how-to-work-with-flash-messages/ –

답변

1

기본값 사용은 POST가 설정되어있는 경우. 그렇지 않으면 기본값을 사용하십시오

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

이 것이 도움이 될까요?

+0

나는 비슷한 일을했습니다 :) – Marian