Я пишу простую проверку. Я могу правильно отобразить свое сообщение об ошибке. Ожидаемое поведение: когда я ставлю неправильное значение, я должен автоматически увидеть «Число должно быть 6»
На данный момент у меня есть сообщение, если я очищаю поле. Любая помощь, пожалуйста!
TS
loadDialogForm() {
this.dialogForm = this.fb.group({
startUpValue: new FormControl('', [Validators.required]),
endUpValue: new FormControl('', [Validators.required])
}, {
validator: (form: FormGroup) => { return (form.get('endUpValue').value !== '6' ? { 'Mismatch': true } : null) }
})
get f() { return this.dialogForm.controls };
get isMismatch() { return this.dialogForm.hasError('Mismatch') };
HTML
<mat-form-field class="form-fields">
<mat-label>End Up Value</mat-label>
<input matInput formControlName="endUpValue" class="form-control" />
<mat-error *ngIf="f.endUpValue.errors && (f.endUpValue.touched || f.endUpValue.dirty)">
<mat-error *ngIf="f.endUpValue.errors?.required">Required field</mat-error>
<mat-error *ngIf="isMismatch" class="invalid-feedback">Number must be 6</mat-error>
</mat-error>
</mat-form-field>