2017-07-27 66 views
0

我正在使用ng2-dynamic-forms,我无法理解asyncvalidation如何与动态窗体组模型一起使用。ng2动态窗体DynamicFormGroupModel上的自定义异步验证

我无法找到asyncvalidator财产DynamicFormControlModel(见:asyncValidator api doc为例

的最终目标是使一个`asyncvalidator检查areasGroup的区域输入值,并检查分区是MAINAREA

我已经这样做了plunker测试asyncvalidation但它不起作用。

你能帮我吗?

+0

你可以开始与此https://plnkr.co/edit/Tgl98NGnAFwYovoOwCan?p=preview尝试编辑“子区域输入” – yurzui

+0

非常感谢的很多 感谢您的帮助,我设法了解asyncvalidation属性,现在我可以继续使用我正在为林服务所做的应用程序 我更正了我的[plunker](https://embed.plnkr.co/gAuEzUfW7XwoRxhEYPQt/ ),现在工作正常。 ! 谢谢 –

+0

很高兴听到我帮助 – yurzui

回答

0

感谢对Avnesh Shakya我找到答案: 在DynamicFormGroupModel性质,我们必须设置:

asyncValidator : {areaGroupValidator:areaGroupValidator} 

,并在areaGroupValidator功能,我们必须像Return功能:

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); 
    }); 
    } 

}