我尝试通过添加邮政编码来覆盖RegistrationBundle。
但是在twig寄存器表单中,当它加载时,邮政编码字段不为空,并且在
中写有“user”<input type="text">
在密码字段中,它也不是空的
<input type="password">
当我使用“http://localhost:8000/app_dev.php/en/register/”时会出现此错误,但如果我使用端口8001运行其他服务器(如“http://localhost:8001/app_dev.php/en/register/”),则不会出现此错误!有什么事 ?
你能解释一下为什么吗?
您好,感谢您的评论。所以,我也覆盖了我的FOSUserBundle控制器!这是我的表格:
private $em;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$this->em = $options['em'];
$builder
->add('firstname', TextType::class)
->add('lastname', TextType::class)
->add('postalcode', TextType::class, array(
'attr'=> array('class'=>'postalcode form-control',
'maxlength'=>4,
'value'=>''))
)
->add('city', ChoiceType::class, array(
'attr'=>array('class'=>'city form-control')))
->add('conditions', CheckboxType::class, array('required' => true))
;
$city = function(FormInterface $form, $codepostal){
$localitestofind = $this->em->findBy(array('codepostal'=>$codepostal));
$localites = array();
if($localitestofind)
{
foreach($localitestofind as $localitetofind)
{
$localites[$localitetofind->getNom()] = $localitetofind->getNom();
}
}
$form->add('city', ChoiceType::class, array(
'attr'=>array('class'=>'city form-control'),
'choices'=> $localites));
};
$builder->get('postalcode')->addEventListener(FormEvents::POST_SUBMIT, function(FormEvent $event) use ($city){
$city($event->getForm()->getParent(), $event->getForm()->getData());
});
}
你的权利,但我不知道为什么我的浏览器自动完成这两个字段。我删除了浏览器的缓存,我删除了cookie,...我在其他端口上没有这个问题(8000 vs 8001)
非常感谢您的帮助