0

現在、XML内のバージョンをチェックしているMSWordドキュメントをユーザーにアップロードしてもらいます。コントローラは現在isValid()をチェックしてから、解析と抽出を行うライブラリにアクセスします(wordはアーカイブであるため)。技術的にはすでに「有効」になっているので、ライブラリで再度有効性を確認する必要があります。これに対するZendFrameworkの最善の行動方針は何ですか?

コハナランドからの歓声;)

4

1 に答える 1

2

私はあなたが探しているものを理解していると思います。
現在呼び出しているのはフォームに対して有効です。ファイルはフォームの検証(正しいサイズ、拡張子など)に合格します。次に、ファイルを解凍して内容を検証する必要があります。

内容を検証するためのコードがすでにあり、それがコントローラーでどのように使用されるかを理解したいと思います。
'

public function anyAction() {

$form = new Form();
//test for $_POST
if ($this->getRequest()->isPost(){
    //Test form for validity
    if ($form->isValid($this->getRequest()->getPost()){
        //will receive file upload (unless disabled in element) and filter form values,
        //based on filters attached to the elements.
        $data = $form->getValues();
        //placeholder for whatever code is required to validate contents of file
        $validateFile = new MyFileValidator();
        //test for valid file contents
        if ($validateFile->isValid($data['file']){
            //Do some Stuff 
        }
        //if file contents is not valid, display form and populate values with unfiltered values
        $form->populate($this->getRequest()->getPost());
    }
   //if form is not valid, it should stay populated and display element errors
  }
//if not post send form to view
$this->view->form = $form;
}

この例では、このタイプの問題の基本的なコントローラーワークフローを提供する必要があります。それがあなたの質問に答えることを願っています。

于 2012-05-15T06:54:50.787 に答える