FOSUserBundle を使用してユーザーを登録しています。ただし、エラーは奇妙な場所に表示されます。
ユーザー名や電子メールではなく、パスワードフィールドの行に表示されています
ご覧のとおり、エラーはユーザー名や電子メールではなく、パスワードの横に表示されます。HTML は、エラーがユーザー名行の下部だけでなく、パスワード行内にあることを示しています。
どうしてこれなの?
これを使用fields.html.twig
して追加しました。
{% block form_row %}
{% spaceless %}
<div class="form-group">
{{ form_errors(form) }}
{{ form_label(form) }}
{{ form_widget(form) }}
</div>
{% endspaceless %}
{% endblock form_row %}
これは機能しますが、エラーはすべてパスワードform-group
div 内に表示されます。
ビューファイルは次のようになりますResources/views/Registration/register_content.html.twig
<form role="form" action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="form-horizontal fos_user_registration_register">
{{ form_widget(form) }}
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" class="btn btn-info" value="{{ 'registration.submit'|trans }}" />
</div>
</div>
</form>
それらをそれぞれの div に移動したり、フォームの先頭に移動したりするにはどうすればよいですか?
この validation.yml ファイルもありますが、これは注目に値するかもしれません
FOS\UserBundle\Model\User:
constraints:
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: {fields: username, message: "This username is taken" }
- Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity: {fields: email, message: "This email is taken" }