zend框架文本字段具有相同的名称但具有不同的所有物

时间:2012-07-21 16:16:13

标签: php zend-framework

我遇到了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]">

1 个答案:

答案 0 :(得分:0)

在Zend Form中,元素名称必须是唯一的(以某种方式),否则它们将被覆盖。但是,您可以继续使用html表单,只需使用Zend_Filter_Input在控制器中进行过滤和验证。 filtervalidation类与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
            }

祝你好运。