2016-06-13 10 views
0

ZF2を初めて使用し、そのニュアンスを理解しようとしています。Zend Framework 2 - filters

私が質問のカップルを持っている:

質問1

私は、フォームフィールド(下記の例)のための入力フィルタを設定するための構成を使用しています。このように同じ要素にフィルタとバリデータがあると、フィルタされたデータはバリデータに渡されますか?したがって、以下の例では、 "Hello world"に空白を読み込んだ場合、バリデータが評価する前にその空白が文字列から取り除かれますか?

'name' => array(
      'required' => true, 
      'filters' => array(
       array('name' => 'Zend\Filter\StringTrim'), 
      ), 
      'validators' => array(
       array(
        'name' => 'Zend\Validator\StringLength', 
        'options' => array(
         'min' => 3, 
         'max' => 11 
        ), 
       ), 
      ), 
     ), 

私は人々がちょうど名前などを使用してフィルタを設定している例を見てきました。質問2

'strtolower'以下のコードに従ってください。私が理解できないことは、このエイリアスがValidatorPluginManagerのバリデータのように設定されているかどうかです。フィルタにエイリアスが設定されていますか?

'name' => array(
      'required' => true, 
      'filters' => array(
       array('name' => 'strtolower'), 
      ), 
      'validators' => array(/*validator stuff*/), 
     ), 

私は埠頭を粉砕しているが、これらの質問に対する回答は見つけられないので、助言をいただき本当にありがとうございます。

Drongo

答えて

1

質問1

はい、入力を使用すると、検証が行われる前に最初にフィルタリングされます値をフィルタリングするとき。 Question2

は、あなたが「ストック」のフィルターに使用できるすべてのエイリアスのFilterPluginManagerを見てください。

バリデータの概要についてはValidatorPluginManagerを確認してください。私は彼をupvotedので@BramGerritsenは非常に右の彼の答えであるが、ここではいくつかの追加情報があなたの質問1のために彼の答えにある

+0

ありがとうございました。 – Drongo

0

検証が前にフィルタリングを起こる特殊なケースがあります。例はthe FileInput classです。ファイルのアップロードでは、ファイルの名前を変更/移動/変更する可能性のあるフィルタの前に検証が行われるように、ファイルを検証する必要があります(リンクを確認してください)。
同じ入力を行うカスタム入力クラスを持つ他の人がいると思います(実際には自分のようなクラスがあります)。

関連する問題