【发布时间】:2019-09-19 20:25:52
【问题描述】:
我希望初始化表单上的某些表单字段,然后调用具有if(this.form.valid) 条件的函数。
在 ngOnInit 函数上,我有一个 API 调用,它获取一些基本信息并将其填写在表单上:
ngOnInit(){
this.apiService.getInfo(this.user.id).subscribe(
userInfo => {
this.formModel.fieldA = userInfo.A;
this.formModel.fieldB = userInfo.B;
this.formModel.fieldC = userInfo.C;
this.doStuff();
}
);
}
但是,当调用this.doStuff() 时,表单无效,即使没有错误并且单击提交按钮似乎会强制验证并使其有效。
有没有一种方法可以手动触发表单的验证,以便valid 变为真?
编辑:Stackblitz。
【问题讨论】:
-
this.form.updateValueAndValidity() -
@joyBlanks 我收到“'NgForm' 类型上不存在属性 'updateValueAndValidity'”。
-
你能用一些虚拟数据使用({}).subscribe 来模拟apiservice
-
你的模板是什么样子的?
-
我添加了一个带有虚拟数据的 Stackblitz。
标签: angular angular-forms angular-template-form