Сообщение об ошибке валидатора длины Symfony 4 - PullRequest
0 голосов
/ 28 марта 2019

Я создал новый проект с использованием скелета веб-сайта Symfony и создал новую регистрационную форму, следуя инструкции по Symfony: https://symfony.com/doc/current/doctrine/registration_form.html#registrationformtype

Внутри twig.yaml я настроил bootstrap_4_layout:

twig:
  ...
  form_themes: ['bootstrap_4_layout.html.twig']

В моем классе RegistrationFormType я хотел бы перевести сообщения об ошибках в случае сбоя проверки:

->add('plainPassword', RepeatedType::class, [
  'required'        => true,
  'type'            => PasswordType::class,
  'first_options'   => ['label' => 'register.password'],
  'second_options'  => ['label' => 'register.password_repeat'],
  'mapped'          => false,
  'constraints'     => [
    new Length([
      'min'        => 6,
      'max'        => 4096,
      'minMessage' => 'register.password_min_length'
    ]),
  ],
])

К сожалению, текст (register.password_min_length) не переведен. В то время как метки 'register.password' и 'register.password_repeat' переводятся, как и ожидалось. После проверки bootstrap_4_layout.html.twig я заметил, что сообщение об ошибке не переведено, поэтому я попытался написать тему пользовательской формы:

{% form_theme registrationForm _self %}
{% block form_errors -%}
    {%- if errors|length > 0 -%}
        <span class="{% if form is not rootform %}invalid-feedback{% else %}alert alert-danger{% endif %} d-block">
            {%- for error in errors -%}
                <span class="d-block">
                    <span class="form-error-icon badge badge-danger text-uppercase">{{ 'Error'|trans({}, 'validators') }}</span> <span class="form-error-message">{{ error.message|trans() }}</span>
                </span>
            {%- endfor -%}
        </span>
    {%- endif %}
{%- endblock form_errors %}

Теперь ошибка переводится, но {{limit}} не заменяется фактическим значением.

У кого-нибудь была похожая проблема? Также в приложении Symfony Demo я не смог найти решение.

1 Ответ

0 голосов
/ 29 марта 2019

Я нашел очень полезный проект на Github:

https://github.com/giorgiopagnoni/symfony4-user

Я могу рекомендовать этот проект всем, у кого есть подобные проблемы, как у меня.При проверке кода все становится все более и более понятным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...