Существуют различные типы проверки полей, а также проверка формы (отправить / войти).На практическом уровне вы хотите, чтобы проверка формы, а не проверка поля не была пустой / обязательной.По умолчанию проверка поля (валидаторы, используемые в элементах управления формой или директиве атрибута required) активируется, как только поле «касается».Таким образом, если вы сделаете поле «обязательным», будет отображена ошибка, как только пользователь применит и удалит фокус, даже не введя значение.Однако проверка формы происходит только при отправке формы.
У вас есть два варианта - не делать эти поля обязательными, а вместо этого проверять их как часть функции отправки, а затем при необходимости устанавливать ошибки в элементах управления формой.,Вам также необходимо позаботиться об очистке этих ошибок, когда пользователь вводит значение или фокусирует поле.
Или, с помощью реактивных форм, вы можете реализовать пользовательский ErrorStateMatcher
для этих полей, чтобыrequired 'validator выдаст ошибку только в том случае, если форма отправлена, а не при касании поля.Отключение проверки «прикосновением» таким способом довольно распространено для такого рода вещей - вы можете просто изменить пример углового материала, показанный здесь: https://material.angular.io/components/input/overview#changing-when-error-messages-are-shown.