symfony - 使用 FormBuilder symfony 更改表单名称
问题描述
我有一个问题,我知道我可以使用 FromFactoryInterface 来设置表单名称,但是我如何使用 FormBuilder 来做到这一点?这获取类的名称并从中生成自动名称,我如何将其更改为我的指定名称?
表格类型:
<?php
class ProfileAddPracownikType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('username', null, [
'label_attr' => array('class' => 'bmd-label-floating'),
'label' => 'Nazwa użytkownika',
'mapped' => false,
'attr' => ['class' => 'form-control']])
->add('imie', null, [
'label_attr' => array('class' => 'bmd-label-floating'),
'label' => 'Imię',
'mapped' => false,
'data' => $options['imie'],
'attr' => ['class' => 'form-control']])
->add('nazwisko', null, [
'label_attr' => array('class' => 'bmd-label-floating'),
'label' => 'Nazwisko',
'mapped' => false,
'data' => $options['nazwisko'],
'attr' => ['class' => 'form-control']])
->add('telefon', null, [
'label_attr' => array('class' => 'bmd-label-floating'),
'label' => 'Numer telefonu',
'mapped' => false,
'data' => $options['telefon'],
'attr' => ['class' => 'form-control']])
->add('email', null, [
'label_attr' => array('class' => 'bmd-label-floating'),
'label' => 'Adres e-mail',
'mapped' => false,
'data' => $options['email'],
'attr' => ['class' => 'form-control']])
->add('password', RepeatedType::class, array(
'type' => PasswordType::class,
'invalid_message' => 'Hasła muszą być takie same.',
'options' => array('attr' => array('class' => 'password-field')),
'required' => false,
'first_options' => array('label' => 'Hasło (jeżeli pozostawisz to pola puste hasło nie zmieni się)','attr' => ['class' => 'form-control'],'label_attr' => ['class' => 'bmd-label-floating']),
'second_options' => array('label' => 'Powtórz hasło','attr' => ['class' => 'form-control'],'label_attr' => ['class' => 'bmd-label-floating']),
'mapped' => false,
))
->add('avatar', FileType::class, [
'label_attr' => array('class' => 'bmd-label-floating'),
'label' => 'Wgraj lub aktualizuj avatar (jeżeli nie wgrasz pliku pozostanie standardowy obrazek)',
'mapped' => false,
'required' => false,
'data' => $options['avatar'],
'attr' => ['class' => 'form-control']])
->add('save', SubmitType::class, [
'label' => 'Zapisz profil',
'attr' => ['class' => 'btn btn-primary pull-right']])
;
}
}
控制器内部的表单构建:
$form_profile = $this->createForm(ProfileAddPracownikType::class, $request, array());
解决方案
推荐阅读
- virtualization - Xen中如何获取domU的机器内存分配
- certificate - 签署文件和解密文件有什么区别?
- python - 在嵌套数组中生成数字塔
- php - 如何在 laravel 中使用搜索功能?
- java - 使用循环创建存储多个员工数据的随机访问文件
- c++ - 如何修复邻接列表中的“调试断言失败”“向量下标超出范围”
- javascript - 如何在移动设备上关闭基于悬停的 CSS 下拉菜单
- python - 如何置换 4 个字符的每个组合而不重复?
- java - 将浮点数传递给只接受 int 的构造函数 - 不能修改构造函数
- python - Jupyter notebook 中的键盘快捷键,用于从下拉菜单中选择建议