Как правильно сделать проверку if else?

Подскажите как правильно сделать проверку на введенный текст пользователем. Мне нужно если текст введённый пользователем содержит меньше 15 символов, и содержит цифры или символы по типу (%№:?;%). То такой текст не принимается, и бот ожидает корректный ввод. В моем коде что ниже, проверка проходит но только до 15 символов, если больше то проверка не работает в принципе. И если вписать цифры в виде 15 символов, то пропускает такой код. И я не знаю как реализовать проверку ещё на символы. Если кто знает как это реализовать, напишите пожалуйста, буду благодарен за помощь!

@dp.message_handler(state=registration_of_the_application.fuul_name)
async def fuul_name_full_name(message: types.Message, state: FSMContext):
    if len(message.text) < 15:
        
        if message.text.isalpha():
            
            await message.answer(text='ФИО СЛИШКОМ КОРОТКОЕ') 
        
        else: 

            await message.answer(text='ФИО НЕ МОЖЕТ ИМЕТЬ ЦИФР')
    else:
        await state.update_data(fuul_name=message.text)
        data_name = message.text

        await message.answer(f'{data_name} подтвердите свой номер!', reply_markup=contact_button)
        await registration_of_the_application.number_contact.set()

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