Это работает, вы просто неправильно истолковываете, как вы должны работать с проверкой.В вашей функции ngSubmit
вы должны проверить правильность формы:
<form #f="ngForm" (ngSubmit)="onLogin(f.value, f.valid)" novalidate></form>
onLogin(value, isValid) {
if (isValid) {
// Send to backend
}
}