如何找到绑定到属性的html元素?

时间:2016-07-20 10:12:21

标签: validation aurelia

如何从控制器(js文件)中的模型属性中找到绑定的html元素?

我正在使用新的aurelia-validation错误集合,我知道模型属性的名称是错误的,但不是它绑定的元素,我想将焦点设置为它。

    checkForErrors() {

    // remove any other errors in case they are showing
    toastr.remove();

    let errors = this.validationController.validate();

    for (var i = errors.length - 1; i >= 0; i--) {
        console.log(errors[i]);
    }

    // only show it if we have errors
    if (errors.length > 0) {
        let errorString = "<p> <ul class='list-unstyled'>";

        for (var i = 0; i < errors.length; i++) {

            console.log("property name : " + errors[i].propertyName);

            errorString += "<li><p onclick=\"document.getElementById('" + errors[i].propertyName + "').focus()\">" + errors[i].message + "</p></li>";
        }

        errorString += "</ul>";

        //show these errors
        toastr.warning(errorString, "Validation Errors");

        return false; // we have errors

    } else {

        return true; // no errors
    }

}

正如您所看到的,我正在创建要在toastr中显示的<li>个项目。然后我想点击<li>将焦点设置为未通过验证的元素。我唯一的参考是errors[i].propertyName。作为一个黑客,我给了元素一个ref="",它与propertyName相同。

我确信有一种从属性到元素的查找方式(通过绑定),我找不到它是什么。

由于

0 个答案:

没有答案