如何在Angular应用中进行W3C验证?
由于自定义指令导致HTML无效,我们通常会看到许多W3C验证错误。是否有任何应对策略?
如何在Angular应用中进行W3C验证?
由于自定义指令导致HTML无效,我们通常会看到许多W3C验证错误。是否有任何应对策略?
严格的w3c验证允许任何data-*
属性,以及任何类。
指令可以应用到具有以下任一属性的DOM元素:
<tag directive-name>
<tag data-directive-name>
(*)<tag x-directive-name>
<tag directive_name>
<tag x_directive_name>
<tag data_directive_name>
至少data-
属性已完全符合W3C标准(前提是您声明了HTML5文档类型)。因此,以下代码是有效的(当然它会因为缺少标题、缺少编码等而失败):
<!DOCTYPE html>
<html>
<body data-ng-app="MyApp">
</body>
</html>
如果您尝试使用http://validator.w3.org/验证您的AngularJS代码,您可能已经注意到它不允许AngularJS ng-*
属性。
一种验证的方法(如@rewritten所解释的那样)是在ng-*
前缀中加上data-
或x-
。
我不想在我的应用程序的800个属性上这样做。在我看来,这会降低代码的清晰度,特别是当我们使用大量这些属性时。
ng-*
属性。您可以在此URL上尝试它:http://validator.w3.org/nu/
提交文档进行检查后,在结果页面上,您将看到一个“消息过滤”按钮,如果按下该按钮,您将获得所有错误消息分组为集合的列表,并带有显示/隐藏复选框。
data-
并声明其为 HTML5。 - rewrittenx-*
前缀就是有效的。 - wbyoungx-*
属性:“注意:使用这些属性的页面在定义上是不符合规范的。” - Jukka K. Korpela