【发布时间】:2014-05-17 20:11:24
【问题描述】:
我是 zend 框架的新手。我创建了一个表单,其中有 2 个文本字段。现在,我想验证其中一个是 not 空的,如果是,则表单是有效的。如何在 InputFilter 中设置这样的验证?
非常感谢任何帮助。
【问题讨论】:
我是 zend 框架的新手。我创建了一个表单,其中有 2 个文本字段。现在,我想验证其中一个是 not 空的,如果是,则表单是有效的。如何在 InputFilter 中设置这样的验证?
非常感谢任何帮助。
【问题讨论】:
要在输入过滤器中设置验证器,您可以在验证器类中执行以下操作:
$inputFilter->add($factory->createInput(array(
'name' => 'foo_bar_input',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim')
),
// add your validators here
'validators' => array(
// check to see if an input is empty
array(
'name' => 'Zend\Validator\NotEmpty',
'options' => array(),
)
)
)));
然后要在表单中使用过滤器,请执行以下操作:
$validate = $this->getServiceLocator()->get('your_validator_class');
$form->setInputFilter($validate->getInputFilter());
只需检查您的表单是否有效:
if ($form->isValid())
{
// do stuff
}
这是 ZF2 关于 NotEmpty 验证器的文档: http://framework.zend.com/manual/2.0/en/modules/zend.validator.set.html#notempty
【讨论】: