我正在处理反应形式,例如我的反应形式有3个字段,但其中2个是强制性的,1个是非强制性的,但它有验证,如果用户在相应字段中输入字符串,它具有最小字符限制示例10个字符。但是我遇到问题,当用户输入字符串时显示错误但提交按钮不会禁用。
return FormBuilder.group({
'surveyDueDate': ['', Validators.required],
'rfsDueDate': [null, Validators.required],
'comment': [null]
});

<form (ngSubmit)="submit(form)" #form="ngForm">
<div>
Survey date:
<input name="surveyDueDate" [(ngModel)]="surveyDueDate">
</div>
<div>
Due Date :
<input name="rfsDueDate" [(ngModel)]="rfsDueDate">
</div>
<div>
Gift shipping address:
<input name="comment">
</div>
<button type="submit" [disabled]="form.invalid">Register now!</button>
</form>
&#13;
thanks in advance.
答案 0 :(得分:1)
在您的组件中,侦听特定的字段更改。例如,
this.form.controls["comment"].valueChanges().subscribe((commentValue)=>{
if(commentValue && commentValue.length>10 && this.form.invalid===false){
this.form.controls["comment"].setErrors({invalid:true});
} else {
this.form.controls["comment"].setErrors(null);
}
});