已分配角度形式验证器输入,但返回错误



在我的sing-up组件中,我创建了一个表单组来验证输入字段。

this.UserForm = new FormGroup({
name: new FormControl('', Validators.required),
surname: new FormControl('', Validators.required),
username: new FormControl('', Validators.compose([
Validators.required,
Validators.pattern('^[a-zA-Z0-9._-]+$')
])),
etc...
})

所以我有它的控制的输入

<mat-form-field>
<mat-label>Name</mat-label>
<input #name matInput type="text" [value]="userData.name" formControlName="name"
(change)="onChangeName(name.value)" required>
<mat-error *ngFor="let validation of account_validation_messages.name">
<mat-error class="error-message" 
*ngIf="newUserForm.get('nameUser').hasError(validation.type)
&& (newUserForm.get('nameUser').dirty || newUserForm.get('nameUser').touched)">
{{validation.message}}</mat-error>
</mat-error>
</mat-form-field>
<mat-form-field>

它有效。。。但是如果我使用相同的组件进行用户更新,它会用填充输入

[value]="userData.name"

并且如果i";触摸;它…它给了我错误,就像它是空的。。。但它不是。。。

如何修复此错误???

当使用反应形式时,应该使用newUserForm.get('nameUser').setValue( … )而不是[value]="…"

相关内容

  • 没有找到相关文章

最新更新