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