如何从控制器(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相同。
我确信有一种从属性到元素的查找方式(通过绑定),我找不到它是什么。
由于