Добавить кнопку сгенерировать пароль в Symfony добавить форму панели администратора пользователя

Первая проблема: Я хочу добавить кнопку пароля Generate под вводом текста пароля. Добавить кнопку сгенерировать пароль в Symfony добавить форму панели администратора пользователя код:

class UserAdmin extends AbstractAdmin
{
    ...

    protected function configureFormFields(FormMapper $formMapper) :void
    {
        if ($this->getFormAction() == 'create')
            $formMapper
                ->add('email')
                ->add('plainPassword', TextType::class);

            $formMapper->add('enabled');
    ...

Я попытался включить ButtonType и добавить ->add('button', ButtonType::class);
после ввода plainPassword, но получил ошибку:

The options "label_render", "property_path", "sonata_field_description" do not exist. Defined options are: "attr", "auto_initialize", "block_name", "disabled", "label", "label_format", "translation_domain".

Другой попробуйте, нажав кнопку добавления в ветке: в custom_edit.html.twig

{% extends 'SonataAdminBundle:CRUD:edit.html.twig' %}

{% block content %}
<button class = "btn btn-primary" id = "generate_password">Generate password</button>
{% endblock %}

{% block javascripts %}
    {{ parent() }}
    <script src = "{{ asset('build/admin.js') }}"></script>
{% endblock %}

но кнопка отображается над формой, и обработать действие будет непросто, так как я использую vue: Добавить кнопку сгенерировать пароль в Symfony добавить форму панели администратора пользователя


Вторая проблема: Я использую эту библиотеку генератор паролей, которую я хочу, когда я нажимаю кнопку Generate ^ значение ввода plainPassword изменяется на новый пароль при каждом нажатии. вот код:

class UserAdminCRUDController extends Controller
{
    ....
    public function generatePassword()
    {
        $generator = new ComputerPasswordGenerator();

                $generator
                    ->setUppercase()
                    ->setLowercase()
                    ->setNumbers()
                    ->setSymbols(true)
                    ->setLength(9);

                return $generator->generatePasswords(1);
    }
    ....

Для начала прочтите про настройка рендеринга форм. А во-вторых, вы можете использовать ajax для отправки запроса на требуемое действие.

Eugene Ruban 08.04.2018 23:27

Ваша проблема с кнопкой, описанной на github

Eugene Ruban 08.04.2018 23:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
284
0

Другие вопросы по теме