Я использую Angular 7 с динамическими формами
Я сохраняю некоторые конфиги форм, такие как input: "text" и т. Д. Для создания моих форм.Они хранятся в базе данных.Я сохраняю валидацию как валидатор: «Validators.required».Теперь, когда я хочу построить свои динамические формы и назначить проверку для элемента управления формы, используя:
validations.forEach(valid => {
validList.push(valid.validator);
});
return Validators.compose(validList);
, я получаю следующую ошибку: Снимок экрана
Теперь я 'Я предполагаю, что это потому, что у меня Validators.required хранится в виде строки, что приводит к сбою, так как на самом деле это не тип Validator, который я импортировал из angular / forms.
На мой вопрос: Как я могу преобразовать сохраненную строку в тип Validators.Я попытался использовать castValidator = (valid.validator as Validators);
, который выдал мне ту же ошибку.
Я думал о том, чтобы просто выполнить оператор switch, который проверяет строку, а затем помещает соответствующие валидаторы в массив, но это кажется плохимрешение.Я должен был бы учитывать каждый тип Validator, даже не думая о пользовательской проверке.