2012-07-21 65 views
0

我有一个zend表单的问题,我需要在其中字段名称相同但具有不同所有物的情况下构建表单。这是我想要的表单中的输入字段。具有相同名称但具有不同所有物的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]"> 
+0

请进一步解释您如何验证。如果您使用客户端验证,您可以在服务器端进行验证。 – 2012-07-21 16:37:06

回答

0

在Zend中表单元素名称必须是唯一的(以某种方式),否则它们将被覆盖。但是,您可以继续使用您的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 
      } 

好运。

相关问题