0

カスタムの Zend Validate クラスを拡張Zend_Validate_Abstract
しています。バリデータは、ファイルの検証と処理の両方を行う外部コマンド ライン ツールを実行するファイル バリデータです。

ファイルが不正であれば問題ありません。Zend_Form_Element_Fileしかし、ファイルが有効な場合、コマンド ライン ツールから返された情報の一部を使用して、バリデーターが操作するの値を何らかの方法で編集できますか?

そうでない場合、外部ツールを一度だけ実行したいことを考えると、どのような回避策がありますか?


コマンドラインツールを実行し、エラーを含む解析情報で値を更新する Zend フィルターを作成することができます次に、値配列にフィルターによって残されたエラーが含まれているかどうかをバリデーターに単純にチェックさせますか?

4

1 に答える 1

2

要素をバリデーターに渡さない理由:

class CustomFileValidator extends Zend_Validate_Abstract {
  public $element = null;

  public function isValid($value) {
        //run external tool
        //check response, validity checks
        //...
        //modify the element if valid. e.g.:
        $this->element->setValue('');
  }

  public setElement(Zend_Form_Element $element) {
      $this->element = $element;
  }
}
于 2012-11-01T14:33:42.300 に答える