我正在使用带有材料设计组件的 Angular 7
我需要将 requireMatch 验证添加到 mat-autocomplete。
我已经使用参数创建了自定义验证,但参数值确实会动态变化。
下面是我的组件代码。
this.stepFormGroup = this.formBuilder.group({
AccessCode: ["", [Validators.required, this.requireMatch(this.accessCodeList)]]
});
////require-match validation for access-code
requireMatch = (accessCodes: string[]) => {
return (control: FormControl) => {
const selection: any = control.value;
console.log("accessCodes", accessCodes, "selection", selection);
if (accessCodes.indexOf(selection)===-1) {
return { requireMatch: true };
}
return null;
}
}
我面临的问题是我总是在accessCodes
里面变空(init) requireMatch
。
的更改this.accessCodeList
不会反映给验证者。
更改后的含义this.accessCodeList
不会在requireMatch
验证器中获得更新的数组。
所以有人知道如何在自定义验证器中传递动态参数吗?