我已经在zend framework 2中为表单定义了字段集。
$this->add ( array (
'name' => 'unitnumber',
'options' => array (
'label' => 'Unit Number:'
)
) );
$this->add ( array (
'name' => 'streetdirprefix',
'options' => array (
'label' => 'Street Direction Prefix:'
)
) );
$this->add ( array (
'name' => 'streetnumber',
'options' => array (
'label' => 'Street Number:'
)
) );
我想仅为unitnumber设置必填字段。不适用于其他领域。
我写了一个函数..
public function getInputFilterSpecification()
{
return array (
'name' => array(
'required' => true,
)
);
}
但是,它要求填写所有字段。任何人都可以帮助我。感谢。
答案 0 :(得分:1)
$inputFilter->add(array(
'name' => 'artist',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
),
'validators' => array(
array(
'name' => 'StringLength',
'options' => array(
'encoding' => 'UTF-8',
'min' => 1,
'max' => 100,
),
),
),
));
<强>参考强>:
http://framework.zend.com/manual/2.2/en/user-guide/forms-and-actions.html http://framework.zend.com/manual/2.2/en/modules/zend.input-filter.intro.html
答案 1 :(得分:0)
在Zend 2中,“InputFilter”更像“严格”模式。
即。它要求您指定InputFilter中提到的元素是否应将“required”值设置为TRUE或FALSE。
$this->add ( array (
'name' => 'unitnumber',
'required' => true, //Code Added
'options' => array (
'label' => 'Unit Number:'
)
));
$this->add ( array (
'name' => 'streetdirprefix',
'required' => false, //Code Added
'options' => array (
'label' => 'Street Direction Prefix:'
)
));
$this->add ( array (
'name' => 'streetnumber',
'required' => false, //Code Added
'options' => array (
'label' => 'Street Number:'
)
));