내가 양식을 구축 EntityType의 추가 옵션을 선택 엔티티 타입의 필드가 포함되어있는 경우 : 사용하여 "기타"를 부르는 선택Symfony3 ConstraintViolation 오류
/**
* Show account register form.
*
* @param FormBuilderInterface $builder Builder to modify
*/
protected function showAccountRegisterForm(FormBuilderInterface $builder)
{
$builder
->add('bank',
EntityType::class,
[
'class' => 'AdminBundle:Bank',
'choice_label' => 'name',
'required' => false,
'translation_domain' => 'form',
'placeholder' => 'Choose a bank',
]
)
;
}
내가 사용자에 대한 또 하나의 옵션을 추가를 finishView 기능 :
public function finishView(FormView $view, FormInterface $form, array $options)
{
//new option
$other = new ChoiceView(array(), 'other', $this->translator->trans('bank.option.other'));
//adding the new option
$view->children['bank']->vars['choices'][] = $other;
}
모든 것이 잘 작동하고 나에게 '다른'옵션을 렌더링하지만이 옵션을 선택하면 '다른'와 그 실체에 양식 오류가 발생했습니다 제출. 누구든지이 문제를 해결하는 방법을 알고 있습니까? 감사합니다
값이 '기타' 문자열이고 우리의 파일이 EntityType이므로 그 이유는 ConstraintViolation 오류입니다. 나는 이것을 며칠 동안 찾고 있었지만 올바른 답을 찾을 수있었습니다.
는 "다른 값은 엔터티 검증에 존재하지 않는 도움이 될
희망. 대체합니다 '기타' ''와 양식의 제출시에 컨트롤러를 관리합니다. 엔티티를 type 특별한 경우를 다루기 위해서 만들어진 것이 아니며, finishview 함수에서 null을 허용하거나 manuel 설정을 위해 ChoiceType을 사용한다. – Snoozer