symfony - 如何修复 FOSUserBundle 提交?
问题描述
我试图覆盖模板,但我无法提交表单。当我单击提交按钮时,数据将保存到 URL。当我删除我的模板并使用默认值时,一切正常。我没有覆盖 RegistrationController。
Symfony v4.3.4
我的 register_content.html.twig{% trans_default_domain 'FOSUserBundle' %}
<section class="sign-in">
<div class="container">
<div class="row">
<div class="col-12 col-sm-10 col-md-8 col-lg-6 offset-sm-1 offset-md-2 offset-lg-3 top-negative">
<h1 class="text-center">{{ 'registration.title'|trans }}</h1>
<form class="sign-in-form mt-74">
<div class="row">
{{ form_start(form, {'method': 'POST', 'action': path('fos_user_registration_register')}) }}
<div class="col-12 col-sm-6 mb-20">
{{ form_widget(form.email, {'label': false,'attr': {'class': 'form-input', 'placeholder': 'registration.email_reg'|trans}}) }}
</div>
<div class="col-12 col-sm-6 mb-20">
{{ form_widget(form.plainPassword.first, {'label': false,'attr': {'class': 'form-input', 'placeholder': 'registration.password'|trans}}) }}
</div>
<div class="col-12 col-sm-6 mb-20">
{{ form_widget(form.plainPassword.second, {'label': false,'attr': {'class': 'form-input', 'placeholder': 'registration.repeat_password'|trans}}) }}
</div>
<div class="col-12 col-sm-6 mb-20">
{{ form_widget(form.firstname, {'label': false,'attr': {'class': 'form-input', 'placeholder': 'registration.first_name'|trans}}) }}
</div>
<div class="col-12 col-sm-6 mb-20">
{{ form_widget(form.lastname, {'label': false,'attr': {'class': 'form-input', 'placeholder': 'registration.last_name'|trans}}) }}
</div>
<div class="col-12 col-sm-6 mb-20">
{{ form_widget(form.tel, {'label': false,'attr': {'class': 'form-input', 'placeholder': 'registration.tel'|trans }}) }}
</div>
<div class="col-12 text-center">
{{ form_widget(form.submit, {'attr': {'class': 'button button-dark'}}) }}
</div>
{{ form_end(form) }}
</div>
</form>
</div>
</div>
</div>
</section>
我的 layout.html.twig
{% extends 'base.html.twig' %}
{% block main %}
{% block fos_user_content %}
{% endblock fos_user_content %}
{% endblock %}
解决方案
您有 2 个表单打开标签。<form class="sign-in-form mt-74">
和创建的一个{{ form_start(form, {'method': 'POST', 'action': path('fos_user_registration_register')}) }}
(同样两个表单标签关闭)。
您class="sign-in-form mt-74"
在 form_start 标记中添加您的
... {'method': 'post', 'action': path('....'), 'attr': {'class': 'sign-in-form mt-74' }} ...
推荐阅读
- neo4j - 将 Neo4J 数据库升级到 4.2,7474 的浏览器仍然指向旧的 Neo4j 数据库 3.5,我该如何解决这个问题?
- python - numpy 的 fromfunction 访问输入函数中的数组
- macos - 无法找到 DMG 映像以使 macos catalina 可启动 USB
- flutter - 我们如何使用粘性底部和滚动可以在 Flutter 中向下滚动到末尾
- php - 使用 PHP Mail() 时从哪里开始?
- azure - Azure 将应用服务重定向到自定义域
- linux - 是否可以在 linux(x.org) 下使用 SDL2/piston 或 bevy 等通用图形/游戏 api 编写窗口管理器?
- reactjs - 如何在本机反应中创建表单?
- powershell - VS CODE 终端未打开显示错误终端进程无法启动
- python - Django - 过滤与今天日期相关的 prefetch_related