ActiveForm을 Yii2와 함께 사용하여 많은 폼을 설정했으며 항상 문제가있는 $_POST
데이터를 필드에 채 웁니다. 기존 값을 업데이트하려는 사용자와 같이 초기에 데이터로 채워진 양식으로이 작업을 수행하는 경우 오류가 발생하면 필드에 항상 초기 값이 포함되고 이 아닌은 $_POST
값입니다. 여기 필드가 초기 값을 가질 때 Yii2의 ActiveForm으로 폼을 가져 오면 에러시 POST 데이터를 채 웁니다.
$form = ActiveForm::begin();
<?=$form->field($model, 'site_url', ['inputOptions' => ['value' => Yii::$app->params['settings']['site_url']]]); ?>
ActiveForm::end();
내가 YII가 자동으로이 POST 이후 초기 값을 무시하고 모델 $site_url
속성 값을 사용하는 것이 기대했다,하지만 불행히도 이것은 아니다 케이스.
쉽게 처리 할 수있는 방법이 있습니까? ... 내가 생각한 가능한 방법은 필드를 통해 값을 설정하지 않고 초기 값으로 모델 속성 값을 설정 한 다음 Yii가 자동으로 해당 값을로드하고 게시 할 때 $_POST
값을 갖습니다.
... 더 쉽고/좋은 방법이 없다면? 예를 들어 ... 당신이 볼 수있는 모델을 통과하기 전에 컨트롤러
$form->field($model, 'site_url',
['inputOptions' =>
['value' => (!empty($model->site_url) ?
$model->site_url : Yii::$app->params['settings']['site_url']]]);
그래, 나는 그것을 생각했지만 지나치게 지저분 해 보였다. 메소드에서이 모든 것을 수행하는 것이 초기로드에서 더 깨끗하게 수행 될 수 있습니다. – Brett