Forms FOSUserBundle验证表单:正确显示验证字符串
我意识到这真的是一个新手问题 我只是不明白如何“捕获”验证消息(例如“用户名已存在”)并正确显示,而不是默认情况下如何显示 我不能发布图片,所以这里有一个复制粘贴: 电子邮件:[在这里我可以看到电子邮件字段]Forms FOSUserBundle验证表单:正确显示验证字符串,forms,validation,symfony,fosuserbundle,Forms,Validation,Symfony,Fosuserbundle,我意识到这真的是一个新手问题 我只是不明白如何“捕获”验证消息(例如“用户名已存在”)并正确显示,而不是默认情况下如何显示 我不能发布图片,所以这里有一个复制粘贴: 电子邮件:[在这里我可以看到电子邮件字段] 电子邮件已被使用 用户名:[在这里我可以看到用户名字段] 用户名已被使用 密码:[在这里我可以看到pwd字段] 验证:[在这里我可以看到pwd验证字段] Name:[在这里我可以看到我添加的Name字段] 我希望能够捕捉到这些消息,并可能在名称字段旁边显示小的“弹出窗口”,或者做任
- 电子邮件已被使用
- 用户名已被使用
{% extends "FOSUserBundle::layout.html.twig" %} {% block
fos_user_content %} This is my registration form <br> {% include
"FOSUserBundle:Registration:register_content.html.twig" %} {% endblock
fos_user_content %}
{%extends“FOSUserBundle::layout.html.twig”%}{%block
fos_user_content%}这是我的注册表
{%include
FOSUserBundle:Registration:register_content.html.twig“%}{%endblock
fos_用户_内容%}
这是register_content.html.twig(未触及)
{%trans\u默认\u域'FOSUserBundle'%}
{{form_widget(form)}
以下是覆盖的registrationFormType:
<?php
namespace AppBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class RegistrationFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// add your custom field
$builder->add('name');
}
public function getParent()
{
return 'fos_user_registration';
}
public function getName()
{
return 'my_user_registration';
}
}
我明白了,我只需阅读表单以及如何管理表单错误的部分
编辑:
我不得不将register_content.html.twig更改如下:
{%trans\u默认\u域'FOSUserBundle'%}
{{form_errors(form)}}
{{form_label(form.email)}
{{form_小部件(form.email)}
{{form_errors(form.email)}
{{form_标签(form.username)}
{{form_小部件(form.username)}
{{form_errors(form.username)}}
{{form_label(form.plainPassword.first)}
{{form_小部件(form.plainPassword.first)}
{{form_errors(form.plainPassword.first)}
{{form_label(form.plainPassword.second)}
{{form_小部件(form.plainPassword.second)}
{{form_errors(form.plainPassword.second)}
{{form_标签(form.name)}
{{form_小部件(form.name)}
{{form_errors(form.name)}}
{{form_rest(form)}
Symfony文档非常全面。你能把你的答案贴出来吗?我把我的答案编辑成帖子,这是我的答案@Jason Roman。
<?php
namespace AppBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class RegistrationFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
// add your custom field
$builder->add('name');
}
public function getParent()
{
return 'fos_user_registration';
}
public function getName()
{
return 'my_user_registration';
}
}
{% trans_default_domain 'FOSUserBundle' %}
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST"
class="fos_user_registration_register">
{{ form_errors(form) }}
<div>
{{ form_label(form.email) }}
{{ form_widget(form.email) }}
{{ form_errors(form.email) }}
</div>
<div>
{{ form_label(form.username) }}
{{ form_widget(form.username) }}
{{ form_errors(form.username) }}
</div>
<div>
{{ form_label(form.plainPassword.first) }}
{{ form_widget(form.plainPassword.first) }}
{{ form_errors(form.plainPassword.first) }}
</div>
<div>
{{ form_label(form.plainPassword.second) }}
{{ form_widget(form.plainPassword.second) }}
{{ form_errors(form.plainPassword.second) }}
</div>
<div>
{{ form_label(form.name) }}
{{ form_widget(form.name) }}
{{ form_errors(form.name) }}
</div>
{{ form_rest(form) }}
<div>
<input type="submit" value="{{ 'registration.submit'|trans }}" />
</div>
</form>