将字符串强制转换为Angular2 Form Validator类型



我正在使用Angular 7和Dynamic Forms

我存储一些表单配置,例如input:"text"等来构建我的表单。这些存储在数据库中。我将验证存储为验证器:"Validators.requested"。现在,当我想构建我的动态表单并使用将验证分配给表单控件时

validations.forEach(valid => {
validList.push(valid.validator);
});
return Validators.compose(validList);

我得到以下错误:屏幕截图

现在我假设这是因为我将Validators.requid存储为字符串,这导致它失败,因为它实际上不是我从angular/forms导入的Validator类型。

我的问题是:如何将存储的字符串转换为Validators类型。我试过使用castValidator = (valid.validator as Validators);这给了我同样的错误。

我曾想过只做一个switch语句,检查字符串,然后将相关的Validator推入数组,但这似乎是一个糟糕的解决方案。我必须考虑每个Validator类型,甚至不考虑自定义验证。

如果数据以字符串的形式保存,并且数据以键值对的形式保存。然后,您必须使用JSON.parse((.解析从数据库中获得的内容

相关内容

  • 没有找到相关文章

最新更新