zend-framework2 - 如何在 zf2 中的选择字段上应用只读属性?

标签 zend-framework2 zend-form

只读属性未应用于选择框。 这是我的表单代码:

array(
         'type' => 'Select',
         'name' => 'role',
         'attributes' => array(
             'id' => 'role',
            'error_msg' => 'Select User Role',
         ),
         'options' => array(
            'label' => 'Role'
         ),
        'validation' => array(
            'required'=>false,
            'filters'=> array(
                array('name'=>'StripTags'),
                array('name'=>'StringTrim')
            ),
            'validators'=>array(
                array(
                    'name'=>'StringLength',
                    'options'=>array(
                        'encoding'=>'UTF-8',
                        'min'=>1,
                        'max'=>250
                    )
                )
            )
        )
    ),

Controller 代码:

  $form->get('role')->setAttribute('readonly', 'readonly');

在我的 Controller 中,我在选择框上应用了只读属性,但未应用只读属性我如何应用只读属性?

最佳答案

选择没有只读属性。这是关于 w3c 的选择描述

您可以做的是禁用选择并添加一个隐藏字段(如果您希望传递默认值)

例子:

$form->get('field_name')->setAttribute('disabled', 'disabled');

或者使用工厂方法:

$this->add(array(
    'name' => 'field_name',
    'type' => 'Zend\Form\Element\Select',
    'options' => array(
        'label' => 'Type',
        'value_options' => array(
            'val1'  => 'name1',
            'valN'      => 'nameN'
        ),
    ),
    'attributes' => array(
        'disabled' => 'disabled',
    ),
));

关于zend-framework2 - 如何在 zf2 中的选择字段上应用只读属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26162306/

相关文章:

php - Zend Form - 一页中的多个表单和 (CSRF) token 验证

zend-framework - 如何创建一个依赖于多个 Zend_Form 值的验证器?

zend-framework2 - Zend Framework 2 DI 别名,不同模块中的 Controller 名称相同

zend-framework2 - 如何在 Zend Framework 2 中为表单字段集使用服务?

php - 从 Zend Radio 表单元素中删除一个选项

zend-framework - zend_form 装饰器在整个表单上而不是每个单独的元素上

php - Zend 表单字段映射到数据库列

php - Doctrine 2 自定义 ObjectMultiCheckbox 值

来自 root 用户的 PHP,mkdir 权限被拒绝

php - ZF2 如何获取最后插入的 id 值?