Преобразование строки в тип проверки формы Angular2 - PullRequest
0 голосов
/ 29 ноября 2018

Я использую 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, даже не думая о пользовательской проверке.

1 Ответ

0 голосов
/ 29 ноября 2018

Если данные сохраняются в виде строки, а данные - в виде пары ключ-значение.Затем вам придется анализировать то, что вы получаете из базы данных, используя JSON.parse ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...