[英]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.