HKa*_*lla 5 symfony-forms symfony
使用底层实体中定义的常量数组填充 Symfony 表单 choiceType 并添加基于相同常量创建断言的最佳方法是什么。\n选项名称应存储在数据库中。
\n\n我正在使用 Symfony 2.8,这就是我所做的。它运作良好,但我认为必须有一种更简单的方法来处理所有新的表单功能。
\n\n谢谢,汉内斯
\n\n实体
\n\n\n\nclass User implements UserInterface, \\Serializable\n{\n const OCCUPATION_SCHOOL_HIGHER_DEGREE = \'Sch\xc3\xbclerin/Sch\xc3\xbcler an Gymnasium\';\n const OCCUPATION_SCHOOL_LOWER_DEGREE = \'Sch\xc3\xbclerin/Sch\xc3\xbcler an Haupt-/Real- und anderen Schulen\';\n const OCCUPATION_WORK_TRAINING = \'Berufsausbildung\';\n const OCCUPATION_UNIVERSITY = \'Studium an einer Hochschule\';\n const OCCUPATION_WORK_FULLTIME = \'Vollzeiterwerbst\xc3\xa4tigkeit\';\n const OCCUPATION_WORK_PARTTIME = \'Teilzeiterwerbst\xc3\xa4tigkeit\';\n const OCCUPATION_NATIONAL_SERVICE = \'Wehrdienst/Zivildienst/FSJ/F\xc3\x96J\';\n const OCCUPATION_UNEMPLOYED = \'keine Besch\xc3\xa4ftigung\';\n const OCCUPATION_OTHERS = \'sonstiges\';\n\n...\n/**\n * @ORM\\Column(type="string", length=255, nullable=true)\n * @Assert\\NotBlank(message = "Pflichtfeld.")\n * @Assert\\Choice(\n * choices = {\n * User::OCCUPATION_SCHOOL_HIGHER_DEGREE,\n * User::OCCUPATION_SCHOOL_LOWER_DEGREE,\n * User::OCCUPATION_WORK_TRAINING,\n * User::OCCUPATION_UNIVERSITY,\n * User::OCCUPATION_WORK_FULLTIME,\n * User::OCCUPATION_WORK_PARTTIME,\n * User::OCCUPATION_NATIONAL_SERVICE,\n * User::OCCUPATION_UNEMPLOYED,\n * User::OCCUPATION_OTHERS,\n * },\n * message = "Bitte w\xc3\xa4hle einen Eintrag aus der Liste."\n * )\n */\n private $occupation;\n\n...\n}\nRun Code Online (Sandbox Code Playgroud)\n\n\n\n表单类型
\n\n\n\nclass UserRegisterType extends AbstractType\n{\n /**\n * @param FormBuilderInterface $builder\n * @param array $options\n */\n public function buildForm(FormBuilderInterface $builder, array $options)\n {\n // Occupation\n $builder->add(\'occupation\', ChoiceType::class, array(\n \'label\' => \'Besch\xc3\xa4ftigung*\',\n \'placeholder\' => \'Bitte w\xc3\xa4hlen\',\n \'choices\' => array(\n User::OCCUPATION_SCHOOL_HIGHER_DEGREE => User::OCCUPATION_SCHOOL_HIGHER_DEGREE,\n User::OCCUPATION_SCHOOL_LOWER_DEGREE => User::OCCUPATION_SCHOOL_LOWER_DEGREE,\n User::OCCUPATION_WORK_TRAINING => User::OCCUPATION_WORK_TRAINING,\n User::OCCUPATION_UNIVERSITY => User::OCCUPATION_UNIVERSITY,\n User::OCCUPATION_WORK_FULLTIME => User::OCCUPATION_WORK_FULLTIME,\n User::OCCUPATION_WORK_PARTTIME => User::OCCUPATION_WORK_PARTTIME,\n User::OCCUPATION_NATIONAL_SERVICE => User::OCCUPATION_NATIONAL_SERVICE,\n User::OCCUPATION_UNEMPLOYED => User::OCCUPATION_UNEMPLOYED,\n User::OCCUPATION_OTHERS => User::OCCUPATION_OTHERS,\n ),\n \'choices_as_values\' => true,\n )\n );\nRun Code Online (Sandbox Code Playgroud)\n\n...\n}\n
\n| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |