我正在使用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((.解析从数据库中获得的内容