首页 文章

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

提问于
浏览
0

我正在使用Angular 7和Dynamic Forms

我存储了一些表单配置,如输入:“text”等来构建我的表单 . 它们存储在数据库中 . 我将验证存储为验证器:“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语句来检查字符串然后将相关的Validators推送到数组中,但这似乎是一个糟糕的解决方案 . 我必须考虑每个Validator类型,甚至不考虑自定义验证 .

1 回答

  • 0

    如果数据以字符串的形式保存,则数据采用键值对的形式 . 然后,您将不得不使用JSON.parse()解析从数据库中获得的内容 .

相关问题