2017-08-29 25 views
0

我想弄清楚如何將此實例化的文件擴展名驗證程序添加到我的flagicon元素的輸入過濾器。將實例化的validator添加到輸入過濾器

這裏是輸入濾波器代碼:

  $inputFilter = new InputFilter(); 
      $this->setInputFilter($inputFilter); 

      $validator = new \Zend\Validator\File\Extension(array('php')); 
      $inputFilter->add([ 
        'name' => 'flagicon', 
        'required' => true, 
        'filters' => [], 
        'validators'=>[ 
         [$validator] 
        ] 
      ]); 

,這裏是我的表單元素代碼(直接從一種擴展形式對象)

  $this->add([ 
        'type' => 'file', 
        'name' => 'flagicon', 
        'attributes' => [ 
          'id' => 'flagicon', 
          'class' => 'form-control' 
        ], 
        'options' => [ 
          'label' => 'Locale Flag Icon', 
        ], 
      ]); 

回答

1
$validator = new \Zend\Validator\File\Extension('jpeg,jpg,png,gif'); 
$file = new Input('flagicon'); 
$file->getValidatorChain()->addValidator($validator); 
$inputFilter->add($file); 
0

您還可以使用數組表示法:

$inputFilter->add([ 
    'name' => 'flagicon', 
    'required' => true, 
    'filters' => [], 
    'validators' => [ 
     [ 
      'name' => 'Extension', 
      'options' => [ 
       'extension' => 'php', 
      ] 
     ] 
    ] 
]); 
相關問題