У меня есть приложение angular 10 с формой входа в систему, где я выполняю различные проверки имени пользователя и пароля.
Эти проверки выполняются с использованием асинхронного валидатора, назначенного группе форм, содержащей элементы управления формой имени пользователя и пароля, с помощью updateOn submit.
Этот асинхронный валидатор запускает вызов REST API для проверки и отправки ошибки, если таковая имеется.
Все работает нормально, за исключением того, что я заметил следующее поведение и не могу найти обходного пути.
Я ввожу имя пользователя и пароль, отправляю форму и получаю сообщение об ошибке, например, эта учетная запись еще не действительна от асинхронного валидатора.
Если я не коснусь формы и снова нажму «Отправить», ничего не произойдет, нет вызова REST API.
Если я редактирую какое-либо поле в форме входа в систему, например добавляю и удаляю символ, чтобы вернуться к исходным введенным данным, то, когда я нажимаю на «Отправить», запускается вызов REST API.
Проблема здесь в том, что данные, отправленные обратно REST API, могли измениться. Например, я мог позвонить в службу поддержки и сказать, пожалуйста, активируйте мою учетную запись прямо сейчас. Затем я собираюсь войти в систему, просто нажав кнопку входа еще раз.
Таким образом, похоже, что мой асинхронный валидатор срабатывает только в том случае, если форма обновляется пользователем, даже если мне требуется updateOn submit.
Это нормально или я что-то не так сделал? Есть ли способ запустить асинхронный валидатор при отправке, даже если форма не была обновлена?