Angular 反应形式,确认电子邮件无效

Angular reactive form, confirm email is not working

我正在使用 Angular 反应形式。我实施了电子邮件并确认电子邮件。电子邮件输入按预期工作,但确认电子邮件不是。下面是 link 到 stackblitz。我找不到我哪里做错了

stackblitz

您的验证器对象是相对于 userData FormGroup 定义的,而不是整个 signupForm。这意味着 emailMismatch 错误将存在于 userData 对象上 - 您正在检查 signupForm.

这是您的原始代码:

get isEmailMismatch() { 
    return this.signupForm.getError('emailMismatch');
}

应该是:

get isEmailMismatch() {
    return this.signupForm.controls.userData.getError('emailMismatch');
}

请注意,我们在这里更深入了一层(到 userData)来查找错误。

工作 stackblitz --> https://stackblitz.com/edit/angular-email-checker-4ypbn5?file=app/app.component.ts

这是 stackblitz

上编辑后的工作代码

您的验证器工作正常。 您只需要将 type="submit" 添加到您的提交按钮