【问题标题】:How to change input types in existing form using Symfony2?如何使用 Symfony2 更改现有表单中的输入类型?
【发布时间】:2012-07-08 15:14:06
【问题描述】:

我有一个表单类,我在其中定义了一些输入,类似于:

class User extends AbstractType
{

    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder->add('mail', 'text', array('label' => 'Mail'))
                ->add('password', 'text', array('label' => 'Hasło'))
                ->add('description', 'textarea', array('label' => 'Opis'));
    }
}

我想将邮件和密码输入类型更改为只读并设置一些值。 现在,我以这种方式使用表单:

$form = $this->createForm(new User($this->get('database_connection')));

我尝试了很多东西,但是 Symfony2 有这么多的 Form 类,我已经迷失了。 我想简单地为现有的添加输入添加一些属性。 我不使用 Doctrine2 ORM,我使用 Doctrine DBAL,如果它确实重要的话。

提前致谢。

【问题讨论】:

  • 您不应该显示密码并将其加密存储在您的数据库中。
  • @fdomig 这是脚本的管理面板,其登录在其他站点,所以我必须将其存储为未散列的,这里的加密是矫枉过正;)

标签: php symfony doctrine-orm dbal


【解决方案1】:

你可以用'data'参数设置默认值,用attr参数设置只读

$builder
    ->add('mail', 'text', array('label' => 'Mail', 'data' => 'Default value'
           attr => array('readonly=>'readonly')));

【讨论】:

    猜你喜欢
    • 2023-01-19
    • 1970-01-01
    • 1970-01-01
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    相关资源
    最近更新 更多