Получение модуля из строки - PullRequest
0 голосов
/ 02 мая 2019

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

Я добавил в поля атрибут данных 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.

...