我正在向某些输入字段添加验证。
我已将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。