问题描述
学习 Angular 11,我正在学习一门课程,但在使用反应式表单时我被困在验证部分。在视频中解释的人使用了这个:
*ngIf="formularioCreado.controls['correo'].errors.required"
*ngIf="formularioCreado.controls['correo'].errors.email"
而且工作正常,但我不知道他使用的是什么 Angular 版本。我写的代码和他一样,但总是一样的错误。
<div class="form-group">
<input class="form-control" type="email" placeholder="Correo" formControlName="correo">
<div *ngIf="formularioCreado.controls['correo'].invalid && formularioCreado.controls['correo'].dirty">
<div class="alert alert-danger" role="alert" *ngIf="formularioCreado.controls['correo'].errors.required">
Campo requerido
</div>
<div class="alert alert-danger" role="alert" *ngIf="formularioCreado.controls['correo'].errors.email">
No es un correo electronico
</div>
</div>
</div>
Object is possibly 'null'.ngtsc(2531)
解决方法
您没有在 required
元素中使用 <input>
属性。您必须将其添加到 <input>
元素,以便 angular 可以检查此验证器。
您的代码
<input class="form-control" type="email" placeholder="Correo" formControlName="correo">
更正
<input class="form-control" type="email" placeholder="Correo" formControlName="correo" required>