2014-02-19 62 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

这可悲的是没有工作:( –