Zend \ Form openTag()方法不包括所有属性

时间:2015-11-04 17:18:29

标签: php zend-framework2 zend-form2

<?php
$form->setAttribute('action', $this->url('customer', array('action' => 'index')));
$form->setAttribute('ng-submit', 'validateForm()');
$form->prepare();
var_dump($form->getAttributes());
echo $this->form()->openTag($form);
?>

好吧,正如您所看到的那样,我设置了一些表单属性,并使用var_dump($form->getAttributes());转储它们,结果如下:

array (size=4)
    'method' => string 'get' (length=3)
    'name' => string 'searchCustomerForm' (length=18)
    'action' => string '/customer' (length=9)
    'ng-submit' => string 'validateForm()' (length=4)

但结果form标记为:

<form id="searchCustomerForm" action="/customer" name="searchCustomerForm" method="get" class="ng-pristine ng-valid">  

缺少ng-submit属性!!

如何设置form属性?

1 个答案:

答案 0 :(得分:1)

data-ng-submit仅允许有效的HTML属性。要解决此问题,您可以使用{{1}}(至少在HTML5中有效),或者扩展表单助手以覆盖有效属性列表或跳过属性验证的某些元素。