[英]Adding custom attributes in Zend Framework 2 using the Zend Form
我要實現的是向表單添加自定義屬性,這些屬性是:
'validType' => 'remote[\'/catalogos/acl/compruebarecurso\',\'nombre\']',
'invalidmessage' => 'Al parecer el nombre ya existe'.
問題在於視圖,因為它無法生成正確的HTML
class RecursosForm extends Form
{
// TODO - Insert your code here
/**
*/
public function __construct($name = null){
parent::__construct($name);
$this->add(array(
'name' => 'nombre',
'type' => 'Zend\Form\Element\Text',
'attributes' => array(
'class' => 'easyui-validatebox',
'validType' => 'remote[\'/catalogos/acl/compruebarecurso\',\'nombre\']',
'invalidmessage' => 'Al parecer el nombre ya existe'
),
'options' => array(
'label' => 'Recurso:',
'label_attributes' => array('class' => 'fitem'),
)
));
}
}
視圖幫助程序不會產生錯誤的HTML,但實際上是在阻止它。 您添加的屬性將導致無效的HTML,因此ZF2會將其刪除。
您可以通過擴展抽象表單視圖幫助器並定義自己的$validAttributes
來覆蓋此$validAttributes
,盡管它仍然會導致錯誤的HTML。
您應該考慮使用HTML 5自定義數據屬性 (帶有前綴data-*
屬性),因為它們是有效的,並且不會被標准表單視圖助手過濾掉。
'attributes' => [
'class' => 'easyui-validatebox',
'data-valid-type' => 'remote[\'/catalogos/acl/compruebarecurso\',\'nombre\']',
'data-invalid-message' => 'Al parecer el nombre ya existe'
],
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.