我正在使用ng2-dynamic-forms
,我无法理解asyncvalidation
如何与动态表单组模型一起使用。
我找不到asyncvalidator
作为DynamicFormControlModel
的属性的示例(请参阅:asyncValidator api doc)
最终目标是制作一个“异步验证器”来检查 areasGroup 的区域输入值,并检查subArea是否小于 mainArea
我已经完成了此plunker来测试asyncvalidation
,但它不起作用。
你能帮助我吗?
答案 0 :(得分:0)
感谢Avnesh Shakya我找到答案: 在DynamicFormGroupModel属性中,我们必须设置:
asyncValidator : {areaGroupValidator:areaGroupValidator}
并且在areaGroupValidator函数中我们必须返回如下函数:
export function areaGroupValidator() {
return function(formGroup: FormGroup): Promise<ValidationErrors | null> {
let TotalArea = formGroup.controls.areaInput.value;
let SubArea = formGroup.controls.subAreaInput.value
if (SubArea > TotalArea) {
return new Promise((resolve, reject) => {
resolve({areaGroupValidator: true});
});
} else {
return new Promise((resolve, reject) => {
resolve(null);
});
}
}