簡體   English   中英

將字符串轉換為Angular2 Form Validator類型

[英]Casting a string to an Angular2 Form Validator type

我正在將Angular 7與動態表單一起使用

我存儲一些表單配置,例如輸入:“ text”等,以構造表單。 這些存儲在數據庫中。 我將驗證存儲為驗證器:“ Validators.required”。 現在,當我要構造動態表單並將驗證分配給表單控件時,可以使用:

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

我收到以下錯誤: 屏幕截圖

現在,我假設這是因為我將Validators.required存儲為字符串,這導致它失敗,因為它實際上不是我從angular / forms導入的Validator類型。

我的問題是:如何將存儲的字符串轉換為Validators類型。 我試過使用castValidator = (valid.validator as Validators); 這給了我同樣的錯誤。

我考慮過只做一個switch語句,先檢查字符串,然后將相關的Validators推入數組,但這似乎是一個糟糕的解決方案。 我將不得不考慮每種Validator類型,甚至不必考慮自定義驗證。

如果數據以字符串形式保存並且數據以鍵值對形式保存。 然后,您將不得不使用JSON.parse()解析從數據庫中獲得的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM