Ank*_*iya 6 angular-validation angular angular-reactive-forms angular-validator
我正在使用 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;
}
}
Run Code Online (Sandbox Code Playgroud)
accessCodes我面临的问题是我的内部总是空的(init)requireMatch。
的更改this.accessCodeList不会反映到验证器。
意味着更改后this.accessCodeList它不会在requireMatch验证器中获得更新的数组。
那么有人知道如何在自定义验证器中传递动态参数吗?
小智 5
当你像这样调用它时,你需要绑定验证函数,否则验证函数将不会绑定输入accessList
[Validators.required, this.requireMatch(this.accessCodeList).bind(this)]
Run Code Online (Sandbox Code Playgroud)
另外,如果你想限制该字段中的某些单词,你可以在这里查看我的 npm 包之一https://www.npmjs.com/package/ng4-validation
| 归档时间: |
|
| 查看次数: |
7405 次 |
| 最近记录: |