Получение модуля из строки

Я добавляю проверку в некоторые поля ввода.

Я добавил к полям validators Атрибут данных, чтобы указать проверки, которые должны быть выполнены.

<input type="text" name="duration" data-validators="InputPresence">

Мой JS выглядит как

import InputPresence from '../modules/validators/input_presence'

...
validateForm() {
 ...
 InputPresence.validate
}

А также input_presence.js

export default {
  validate(something) {
    console.log('validating .....')
  }
}

И я правильно попадаю в консоль

проверка.....

Теперь мне нужно вызывать валидатор динамически в соответствии с атрибутом данных. Однако я не знаю, как получить имя модуля для вызова из строки.

validateForm() {
  ...
  let validator = field.getAttribute('data-validators')
  ???.validate
}

я пытался window[validator] как предложено в другом вопросе, но это не похоже на работу.

Какие-либо предложения?

PS - Я думаю, что это не относится к проблеме, но я использую StimulusJS.

0 ответов

Другие вопросы по тегам