$inputFilter->add(array(
'name' => 'seatingCapacity',
'required' => TRUE,
'filters' => array(
array('name' => 'Int'),
),
));
在我的學說實體中,我有一個getInputFilter
方法,我用於表單驗證。以上是其中一個輸入元素的代碼片段。我的問題是required => true
即使提交空白表單也無法正常工作。zf2學說形式int要求不工作
經過研究,我發現,Int
過濾器將空輸入轉換爲0
並提交它,這就是爲什麼required
驗證程序不起作用。我只是需要爲什麼它可能不工作的原因。
僅供參考,我搜索
Zend Framework 2 - Integer Form Validation
,他建議使用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,
)
)
)
)
));
我想知道我爲什麼要使用Between
爲什麼required
失敗。
感覺就像你回答了你自己的問題。 「...這就是爲什麼」必需「驗證程序不工作」 – srayner
我還沒有測試過這個東西(所以它不是一個評論而不是一個答案),但是你不能使用[to null(的組合) ](http://framework.zend.com/manual/current/en/modules/zend.filter.set.html#tonull)過濾器,[是int](http://framework.zend.com/manual/current /en/modules/zend.i18n.validator.int.html)驗證程序和[not empty](http://framework.zend.com/manual/current/en/modules/zend.validator.not-empty.html)驗證器? –