在 Symfony 中使整个表单只读
Making entire form readonly in Symfony
是否可以像 PEAR/QuickForm 中那样只用一(或两)行代码使整个表单只读?
我有以下代码:
$form = $this->createFormBuilder($user)
->add('username', \Symfony\Component\Form\Extension\Core\Type\TextType::class, array('label' => 'Login: '))
->add('personal_name', \Symfony\Component\Form\Extension\Core\Type\TextType::class, array('label' => 'Imię i nazwisko: '))
(...)
我知道我可以将 "read_only" => true
添加到每个 "add" 函数调用中,但是有单行代码吗?
我也试过像这样使用 AbstractType:
class Register extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'validation_groups' => array('registration'),
'readonly' => true //I also tried read_only, read-only, read only but to no avail
));
}
上面的代码不起作用,尽管当我将 'readonly' => true
替换为 'disabled' => true
时它...起作用了。但是我希望它是只读的。
我在这里想要完成的是,我想要一个视图(树枝模板、表单)来添加新实体、编辑现有实体和显示实体的详细信息(这是只读有用的地方)。也许你有更好的主意?
我知道我可以用 Javascript 做到这一点,但也许有一个 Symfony - 方法可以做到这一点?
"read_only" 在 Symfony 2.8 中被弃用,取而代之的是将只读作为属性传递。请尝试以下操作:
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'validation_groups' => ['registration'],
'attr' => ['readonly' => true],
]);
}
是否可以像 PEAR/QuickForm 中那样只用一(或两)行代码使整个表单只读?
我有以下代码:
$form = $this->createFormBuilder($user)
->add('username', \Symfony\Component\Form\Extension\Core\Type\TextType::class, array('label' => 'Login: '))
->add('personal_name', \Symfony\Component\Form\Extension\Core\Type\TextType::class, array('label' => 'Imię i nazwisko: '))
(...)
我知道我可以将 "read_only" => true
添加到每个 "add" 函数调用中,但是有单行代码吗?
我也试过像这样使用 AbstractType:
class Register extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'validation_groups' => array('registration'),
'readonly' => true //I also tried read_only, read-only, read only but to no avail
));
}
上面的代码不起作用,尽管当我将 'readonly' => true
替换为 'disabled' => true
时它...起作用了。但是我希望它是只读的。
我在这里想要完成的是,我想要一个视图(树枝模板、表单)来添加新实体、编辑现有实体和显示实体的详细信息(这是只读有用的地方)。也许你有更好的主意?
我知道我可以用 Javascript 做到这一点,但也许有一个 Symfony - 方法可以做到这一点?
"read_only" 在 Symfony 2.8 中被弃用,取而代之的是将只读作为属性传递。请尝试以下操作:
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'validation_groups' => ['registration'],
'attr' => ['readonly' => true],
]);
}