Php 视图中具有相同ID的多个项目-ZF2

Php 视图中具有相同ID的多个项目-ZF2,php,doctrine-orm,zend-framework2,Php,Doctrine Orm,Zend Framework2,我正在使用ZF2和Doctrine构建一个web应用程序。我有一个包含基本表单的视图,用户可以向其中添加一个字段集的多个实例,通过HTML模板和js克隆添加文件集。我们正在使用计数器和cascade=persist来写入数据库。这一切都是工作,但我担心的是,当添加字段集时,它会导致多个项目具有相同的ID,这违反了w3标准。有没有人能解决这个问题?或者在这种情况下是否可以接受 一个字段集元素的示例: $this->add(array( 'name' => 'glassA

我正在使用ZF2和Doctrine构建一个web应用程序。我有一个包含基本表单的视图,用户可以向其中添加一个字段集的多个实例,通过HTML模板和js克隆添加文件集。我们正在使用计数器和cascade=persist来写入数据库。这一切都是工作,但我担心的是,当添加字段集时,它会导致多个项目具有相同的ID,这违反了w3标准。有没有人能解决这个问题?或者在这种情况下是否可以接受

一个字段集元素的示例:

$this->add(array(
        'name' => 'glassAssemblyID',
        'attributes' => array(               
            'type'=> 'hidden',
            'id' => 'glassAssemblyID',
        ),
    ));
非常感谢
詹姆斯这是一个简单的问题。只需将代码更改为:

$this->add(array(
    //'name' => 'glassAssemblyID',
    'attributes' => array(               
        'type'=> 'hidden',
      //'id' => 'glassAssemblyID',
    ),
));
放一个显然没有被使用的元素id是没有意义的


如果您确实觉得出于某种原因需要id,那么为您的id提供EntityType id之类的内容。

您应该在克隆元素后在JavaScript中设置id。

uuid()是您的朋友我想(现在无法测试它)这不起作用,因为如果用户没有定义ID,ZF2会自动将ID附加到每个输入。当然,但它将是元素名称,并且是唯一的。问题是他使用的是ZF2服务器端框架,而不是javascript。请参见OP所写的:“文件集是通过HTML模板和js克隆添加的”