0

さて、ユーザーがサイトに登録するときにドキュメントをアップロードしています。個人情報を収集して保存します。ここで少し問題が発生しました。メインの登録フォームを 2 つのビューに分割しました。ここでは、一度ログインしたユーザーが特定の情報 (たとえば、personal_introduction という 1 つのフィールドなど) を編集できるようになりました。フィールドに検証エラーがない場合でも、何らかの理由でこれは保存されません。モデルをいじって、問題を拾い上げて、これが問題の原因であることを見つけようとしました。

    'document_file' => array(
        'checkuploadedit' =>array(
            'rule' => array('checkUpload', false),
            'message' => 'Please select your document.',            
        ),
        'checkuploadedit' => array(
            'rule' => array('extension', array('doc', 'docx', 'txt', 'rtf')),
            'message' => 'File extentions allowed: .doc .docx .txt .rtf - we do NOT accept pdf format.'
        )
    ),

これをモデルから削除すると、データが保存されます。メインの登録フォームが問題なく、「document_file」と呼ばれるフォーム入力さえも含まないこのビューが保存に失敗するのは、私にとって奇妙なことです。

任意のアイデア...してください!!! 明らかに、アップロードを検証する必要があります。

私はこれを試しました:Cakephp の入力ファイルの検証、上記のコードが正しくない可能性があると考えて、まだ運がありません。

ご回答ありがとうございます。

乾杯ルイス。

4

1 に答える 1

0

この問題をさらに調査したところ、次のことがわかりましたが、まだ説明できません。同じモデルでアップロード フォームを含まないビューを送信すると、アップロード フォームの検証が試行されます。したがって、私が得た唯一の解決策は、ドキュメントアップロードフォームフィールドを持たないアクションに unset($this->data['user']['document']) を使用することでした。これが理にかなっていることを願っています。

于 2012-07-19T13:56:50.920 に答える