Zend Framework 2 - 整数表单验证

Ron*_*Ron 5 php validation zend-framework2

我有以下问题.我写了(基于教程)表单验证.文本字段工作正常,但整数字段表现奇怪.

这是我的验证器:

        $inputFilter->add($factory->createInput(array(
            'name'     => 'zip',
            'required' => false,
            'filters'  => array(
                array('name' => 'Int'),
            ),
        )));
Run Code Online (Sandbox Code Playgroud)

它位于我的Entity.php中,就像其他过滤器一样.奇怪的是,这个甚至不接受一个字符串,但忽略了required我设置它的时间true.我试图取代IntDigits它然后导致接受的形式required,但仍然接受字符串.

有任何想法吗?谢谢!

Res*_*hil 10

尝试使用Between验证器:

$inputFilter->add($factory->createInput(array(
            'name'     => 'zip',
            'required' => true,
            'filters'  => array(
                array('name' => 'Int'),
            ),
            'validators' => array(
              array(
                  'name' => 'Between',
                  'options' => array(
                      'min' => 1,
                      'max' => 1000,
                  ),
              ),
            ),
        )));
Run Code Online (Sandbox Code Playgroud)

  • 好的,我找到了解决方案!`Int`过滤器将非int转换为零,这样数据库就不会失败. (2认同)