Перезапуск функции при неправильном значении

Есть вот такой код бота aiogram, с машиной состояний. Который сохраняет в БД Имя и Фамилию пользователя. Но, если нечаянно нажать кнопку во время приема имени, то в БД сохраниться значение кнопки. Как перезапустить функцию сначала если во время приема имени в чат прилетит /Да или Главное меню

class FSMAdmin(StatesGroup):
    name = State()
    idname = State()

@dp.message_handler(commands="Да", state=None)
async def fsm_message(message: types.Message):
    await FSMAdmin.name.set()
    await message.reply('Введите Имя и Фамилию')

# Ловим имя и id
@dp.message_handler(state=FSMAdmin.name)
async def load_name(message: types.Message, state: FSMContext):
    name=message.text
    print(name)
    get_name = (f'Ваше имя : {name},'' (Вы можете повторно нажать кнопку /Да и изменить имя).? ,'
                '➡️ Далее необходимо нажимать на кнопки вопросов. ,'
                '➡️ После этого жмем на кнопку для записи видеответа. ,')
    get_name_split = get_name.split(',')
    get_name_lines = '\n \n'.join(get_name_split)

    async with state.proxy() as data:
        data['name'] = message.text
        data['idname'] = message.from_id
    await message.reply(get_name_lines, reply_markup=nav.qwestionMenu)
    await sql_add_command(state)  # выводил в базу
    await state.finish()

Ответы (1 шт):

Автор решения: oleksandrigo

Просто уберите кнопки после требования ввода

from aiogram.types import ReplyKeyboardRemove

# state=None писать смысла нет
@dp.message_handler(commands="Да")
async def fsm_message(message: types.Message): 
    await message.reply('Введите Имя и Фамилию', reply_markup=ReplyKeyboardRemove())
    await FSMAdmin.name.set()
→ Ссылка