从字符串获取模块

时间:2019-05-02 15:13:30

标签: javascript stimulusjs

我正在向某些输入字段添加验证。

我已将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 个答案:

没有答案