Symfony日期表单字段不会获取read_only属性

时间:2014-05-08 15:22:38

标签: php forms symfony

我正在尝试将Symfony表单日期字段设置为只读。语法适用于文本字段,但不适用于日期选择字段。

这是问题:

->add('CreationDate', 'date', array('read_only' => true))

这是完整的功能:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $a=1;
    $builder
            ->add('Instructor_Lic','text',array('read_only' => true))
            ->add('First_Name')
            ->add('Last_Name')
            ->add('School_ID')
            ->add('Email')
            ->add('Status')
            ->add('Department')
            ->add('CreationDate', 'date', array('read_only' => true))
            ->add('EditDate', 'date', array('data' => new \DateTime()))
    ;
}

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

这是正确的方法。

->add('CreationDate', 'date', array(
    'disabled' => true
)

此外,在较新的symfony版本上,请使用:

而不是使用表单别名'date'。
use Symfony\Component\Form\Extension\Core\Type\DateType;
// ...

$builder->add('CreationDate', DateType::class, array(
    'disabled' => true,
));

答案 1 :(得分:0)

您可以使用disabled属性代替read_only属性

更改

->add('CreationDate', 'date', array('read_only' => true))

->add('CreationDate', 'date', array('disabled' => true))

like accepted answer for this question