2014-02-19 64 views
2

我有一個模型實現InputFilterAwareInterface。對於其中一個字段,我希望驗證用戶輸入是數字,並使用空值過濾器來確保db字段被設置爲空。有沒有辦法做到這一點?以下不起作用。ZF2空輸入過濾器和數字驗證器

 $inputFilter->add(array(
      'name' => '_programme_id', 
      'required' => false, 
      'allow_empty' => true, 
      'validators' => array(
        array(
          'name' => 'Digits', 
        ) 
      ), 
      'filters' => array(
        array(
          'name' => 'Null', 
          'options' => array(
            'type' => 'all' 
          ), 
        ) 
      ), 
     ) 
    ); 

驗證失敗消息「無效的類型給出。字符串,整數或浮點數預期」

好像這是因爲過濾驗證之前發生。有沒有一種快速的方法來實現這種行爲?

回答

2

你可以轉換你的價值將它傳遞給Null過濾器之前與Int過濾器爲整數,如下所示:

$inputFilter->add(array(
      'name' => '_programme_id', 
      'required' => false, 
      'allow_empty' => true, 
      'validators' => array(
        array(
          'name' => 'Digits', 
        ) 
      ), 
      'filters' => array(
        array(
          'name' => 'Int', 
        ) 
        array(
          'name' => 'Null', 
          'options' => array(
            'type' => 'all' 
          ), 
        ) 
      ), 
     ) 
    ); 
+0

將嘗試了這一點,明天感謝:)看起來promosing –

+0

這可悲的是沒有工作:( –