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

вопрос создан в Thu, May 2, 2019 12:00 AM

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

Я добавил в поля атрибут данных 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
0 ответов                              0                         
источник размещен Вот