我们正在grunt-html-angular-validate
为 HTML lints 使用包。它在后台使用 W3C在线验证器工具,到目前为止,它在验证我们的 Angular 模板方面做得很好。
今天,它在检查从存储库中提取的最新更改时失败,并出现以下错误:
验证 src/login/login.html ...错误 [L37:C108]
元素输入上属性自动聚焦的错误值 {{regCodeRequired}}。
以下是失败的相关行:
<div class="auth-reg-code-block" ng-if="regCodeRequired">
<input class="form-control" type="text" name="regCode"
id="regCode" ng-model="user.regCode" autofocus="{{regCodeRequired}}"
placeholder="Registration Code" required>
</div>
这基本上是用于输入双因素身份验证的注册码的字段。regCodeRequired
是一个布尔变量,true
一旦用户通过第一个登录/密码验证步骤,就会设置为。
而且我看到输入出现在它上面(使用 chrome 39)——它正在工作。
问题:
我很确定验证工具有抱怨的理由,但我不确定如何继续。我们是否autofocus
错误地使用了属性?我们应该如何修复验证错误?
我查看了W3C 验证器错误,试图找到解释,但那里什么autofocus
也没有。此外,w3cjs
github 存储库中没有任何内容。
这是 grunt 的配置htmlangular
:
htmlangular: {
options: {
relaxerror: [
'Element head is missing a required instance of child element title.',
'Attribute href without an explicit value seen.',
'& did not start a character reference.',
'not allowed on element form at this point.',
'not allowed as child of element',
'Element img is missing required attribute src.'
],
reportpath: null
},
all: [
"<%= app.src %>/*.html",
"<%= app.src %>/**/*.html"
]
}
将不胜感激任何指针。