我有一个 Angular 2 应用程序,它使用该ReactiveForms
模块来管理使用自定义验证器的表单。验证器接收到一个FormControl
对象。我有一些输入字段可以使用相同的自定义验证器,前提是我在FormControl
传递给验证器时知道字段的名称。
我找不到任何FormControl
公开输入字段名称的方法或公共属性。当然,这很简单,可以看出它的价值。下面显示了我想如何使用它:
public asyncValidator(control: FormControl): {[key: string]: any} {
var theFieldName = control.someMethodOfGettingTheName(); // this is the missing piece
return new Promise(resolve => {
this.myService.getValidation(theFieldName, control.value)
.subscribe(
data => {
console.log('Validation success:', data);
resolve(null);
},
err => {
console.log('Validation failure:', err);
resolve(err._body);
});
});
}