Проверка формы завершится неудачей, поскольку в абстрактном элементе управления или пользовательской проверке checkValidEmail
вы возвращаете { emailIsTaken: true }
. поэтому к любому ответу, возвращенному из пользовательской проверки, будет добавлено свойство ошибки emailcontrol.
, следовательно, форма становится недействительной из-за ошибки, добавленной из определенного абстрактного элемента управления.
Попробуйте напечатать его в app.component. html как показано ниже.
<p> Form emailIsTaken {{form.controls.email.errors | json}}</p>