【发布时间】:2019-05-01 02:17:22
【问题描述】:
我正在使用带有动态表单的 Angular 7
我存储了一些表单配置,例如输入:“文本”等来构建我的表单。这些存储在数据库中。我将验证存储为验证器:“Validators.required”。现在,当我想构建动态表单并将验证分配给表单控件时,使用:
validations.forEach(valid => {
validList.push(valid.validator);
});
return Validators.compose(validList);
我收到以下错误: Screenshot
现在我假设这是因为我将 Validators.required 存储为一个导致它失败的字符串,因为它实际上不是我从 angular/forms 导入的 Validator 类型。
对于我的问题:如何将存储的字符串转换为 Validators 类型。我试过使用castValidator = (valid.validator as Validators);
这给了我同样的错误。
我考虑过只做一个 switch 语句来检查字符串,然后将相关的验证器推送到数组中,但这似乎是一个糟糕的解决方案。我必须考虑每种 Validator 类型,甚至不会考虑自定义验证。
【问题讨论】:
标签: javascript angular forms validation angular7