Zend框架2检查表单是否只对一个或两个表单项有效


zend framework 2 check if form valid just for one or two form items

如果提交的是有效的,我怎么能检查在zend框架2,但只是为一个特定的项目?insstead

$form->insertData( $post ); 
if( $form->isValid() ) //dostuff

您需要创建一个包含验证器的userfilter表单

例如,如果您想使用户名字段是强制性的,那么您的userfilter表单中的验证器将是

$this->add(array(
                    'name' => 'username', 
                    'filters' => array( 
                        array('name' => 'StripTags'), 
                        array('name' => 'StringTrim'), 
                    ), 
                    'validators' => 
                     array( 
                                      array(
                                       'name' => 'NotEmpty',
                                       'options' => array(
                                            'messages' => array(
                                         'Zend'Validator'NotEmpty::IS_EMPTY => 'Username must be filled',
                                          ),
                                      ),
                                   ),
                                 ),
                          ));

现在在indexcontroller中使用这个表单来验证数据

$form->setInputFilter(new Userfilter($this->getServiceLocator()));
if( $form->isValid() )
'
'
'