未定义es6构造函数设置的属性

时间:2017-05-23 11:45:58

标签: javascript ecmascript-6 es6-class

我正在尝试构建一个表单验证器。当我试图访问规则对象时,我得到一个未捕获的ReferenceError。 我在这做错了什么?

class Validator {
    constructor(formID, rules) {
        this.form = document.querySelector(formID);
        this.rules = rules;
        this.init();
    }

    init() {
        form.addEventListener('submit', this.validate);
    }

    validate(e) {
        e.preventDefault();
        let formElements = form.elements;
        let toCheck = [];
        for (let elem of formElements) {
            if(elem.type != 'submit') {
                toCheck.push(elem);
            }
        }
        toCheck.forEach(function(elem) {
            let element = elem.type;
            console.log(rules["name"]); //Uncaught ReferenceError: rules is not defined
        });
    }
}

const val = new Validator('#form', { name: "checked by namechecker", email: "checked by mail checker"});

编辑:对不起,我没有看到dublicate,举个例子我可以在同一个地方安装console.log(表格)而没有错误。

编辑2:在评论中提供一些帮助后,我确实理解它是重复的。遗憾。

0 个答案:

没有答案