我在验证时遇到问题。我想在电子邮件输入中添加验证,但收到错误消息“由于它不是'input'的已知属性,因此无法绑定到'ngModelOptions'。
<form name="form" [formGroup]="form" (ngSubmit)="form.valid" class="form">
<mat-form-field>
<input matInput
placeholder="Adres e-mail"
formControlName="email"
[(ngModel)]="employee.email"
[ngModelOptions]="{standalone: true}"
[ngClass]="{'is-invalid':form.get('email').touched && form.get('email').invalid}"
type="email"
required>
<div *ngIf="form.get('email').touched && form.get('email').invalid" class="invalid-feedback">
<div *ngIf="form.get('email').errors.required">Email Name is required</div>
<div *ngIf="form.get('email').errors.email">Email must be a valid email Address</div>
</div>
</mat-form-field>
form = new FormGroup({
email: new FormControl('', [
Validators.required,
Validators.email
])
});
我在app.module.ts中包含了FormsModule,ReactiveFormsModule。
答案 0 :(得分:0)
自Angular起AngularJS中的ngModelOptions
指令已更改。许多功能在角度上已删除。来自角度文档:
跟踪此ngModel实例的配置选项。
名称:在表单控件元素上设置名称属性的替代方法。请参阅将NgModel用作独立控件的示例。
独立:设置为true时,ngModel不会在其父表单中注册自己,并表现为不在表单中。默认为false。
updateOn :定义表单控件值和有效性更新的事件。默认为'change'。可能的值:'change'| '模糊'| “提交”。
验证的角度方式是使用FormControl:
emailFormControl = new FormControl('', [
Validators.required,
Validators.email,
]);
您可以在此DEMO
中看到编辑,感谢@ConnorsFan的评论。