【发布时间】:2018-12-14 05:43:28
【问题描述】:
我使用createNamebuilder() 创建了我自己的表单生成器。就这样
$builder = $this->formFactory->createNamedBuilder($formName, $phoneNumberType, $data, $formOptions);
我有电话号码类型。在其中我添加到构建器 countryNumber 和 number。
$builder->add('countryNumber', CountryCodeType::class);
$builder->add('number', NumberType::class);
如何在需要的数量上添加约束?我尝试使用这个
public function buildForm(FormBuilderInterface $builder, array $options)
{
$contactNumber = $builder->getData();
$countryCode = null;
if ($contactNumber instanceof ContactNumber) {
$countryCode = $contactNumber->getCountryNumber();
}
$builder->add('countryNumber', CountryCodeType::class, ['data' => $countryCode]);
$builder->add('number', NumberType::class, [
'required' => true,
'constraints' => [new NotBlank(['message' => 'Phone number is required.'])]
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => ContactNumber::class,
'error_bubbling' => true
]);
}
当我提交表单时。它不显示错误消息。
【问题讨论】:
-
你能添加控制器代码吗,这部分我觉得没问题
标签: php symfony symfony-forms