0

我对 zend 表单有疑问,我需要在其中构建一个字段名称相同但内容不同的表单。这是我在表单中想要的输入字段。

目前我正在使用直接 html,但正因为如此,我缺少验证。

<input type="text" name="travel_guide_tab[4][title]">
<input type="text" name="travel_guide_tab[4][description]">
<input type="text" name="travel_guide_tab[6][title]">
<input type="text" name="travel_guide_tab[6][description]">
4

1 回答 1

0

在 Zend Form 中,元素名称必须是唯一的(以某种方式),否则它们将被覆盖。但是,您可以继续使用您的 html 表单并使用Zend_Filter_Input在控制器中简单地过滤和验证。过滤器验证类与 Zend_Form 使用的相同,只是以不同的方式传递数据。
简单的例子,部分:

public function someAction() {
        //set filters and validators for Zend_Filter_Input
        $filters = array(
            'nameOfInput' => array('HtmlEntities', 'StripTags')
        );
        $validators = array(
            'nameOfInput' => array('NotEmpty', 'Int')
        );
        //assign Input
        $input = new Zend_Filter_Input($filters, $validators);//can also pass the data in constructor (optional)
        $input->setData($this->getRequest()->getParams());
            //check input is valid and is specifically posted as 'Delete Selected'
            if ($input->isValid()) {
            //do some stuff
            }

祝你好运。

于 2012-07-22T12:01:44.827 回答