在ZF2中不常见的表单属性用法


Uncommon usage of form attributes in ZF2

我正在编写一个简单的CMS,用户可以在每个页面上编辑其附带的所有语言。例如,用户提交表单时的原始$_POST输入通常必须如下所示:

array(
   'fr' => array(
      'name' => 'Some name in French',
      'content' => 'Some content in French'
   ),
   'en' => array(
      'name' => 'Some name in English',
      'content' => 'Some content in English'
   ),
   'de' => array(
      'name' => 'Some name in German',
      'content' => 'Some content in German'
   )
)

管理简单的输入没有问题,看起来像典型的key => value对。然而,我不能让这个工作,我花了几个小时搜索类似的问题没有运气,所以这里是我的问题:

  • 如何在模块的形式定义?
  • 如何相应地附加验证规则?

ZF2的解决方案非常简单。

为每个类型创建一个带有名称(de/en/fr)的Fieldset,并在每个Fieldset中定义字段(name/content)和验证本身。

然后将3个字段集组合在一个表单中,并在视图中显示。

提交的POST数据将自动分组在字段集的名称内。

http://www.aronkerr.com/2013/11/zf2-form-collection-validation-unique.html