1

次のようなフォームの 1 つで CMultiFileUpload コントロールを使用しています。

$this->widget('CMultiFileUpload', array(
  'name' => 'neueAnhaenge',
));

他のフォーム要素の入力検証が失敗し、入力フォームが再度レンダリングされると、このコントロールの以前の選択は (予想どおり) 失われます。

このコントロールを再設定するにはどうすればよいですか?コントローラーで何をする必要がありますか?これを事前設定する方法はありますか?

前もって感謝します。

4

1 に答える 1

0

ファイルフィールドの場合、サーバーに送信された後に割り当てられた値をリセットすることはかなり不可能です。

これを解決する1つの方法は、アップロードされたファイルを取得し、それらをサーバーに一時的に保存し、サーバー上のファイルへの参照を送信するようにフォームを変更することです。

より良い方法は、フォームフィールドのAjaxまたはクライアント側の検証を使用して、フォームが送信されたときに検証エラーが発生しないことを確認することです。CActiveForm$enableClientValidationおよび。に対してこれらのオプションを有効にできます$enableAjaxValidation

于 2012-12-07T17:53:23.550 に答える