Devrais-je me soucier de validation du W3C?
Je suis en train d'apprendre AngularJS et j'ai trouvé un code simple comme celui-ci:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
</head>
<body ng-app ng-init="name = 'World'">
<h1>Hello, {{name}}!</h1>
</body>
</html>
ne passe pas la validation W3C test, principalement parce qu'il n'y a pas les attributs standard (ng-app
, ng-init
).
La question est: devrais-je me soucier du W3C validation de ma demande? Dois-je abandonner AngularJS?
- Le meilleur framework JavaScript est roulement de tambour: AUCUN! Nécessite le dumping un supplément total de octets zéro et zéro des requêtes HTTP au client dans la mesure où elle prend déjà en charge (gasp!) JavaScript! Avertissement: ne vous obliger à apprendre réelle conforme aux normes JavaScript. L'un des plus de manque de professionnalisme des choses web/développeur de logiciel peut faire est essentiellement dire, "Comment pouvons-nous compliquer à l'excès de notre code et de l'affaiblir par l'ajout de dépendances inutiles parce que nous n'avons pas pris la peine d'apprendre ce que nous savons déjà?"
- Tout à fait d'accord.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le de données html5 attribut qui est la norme et comme je sais que fonctionne de la même Angulaire.
Quelque chose comme:
Fonctionnera de la même Angulaire et sont validées par le W3C.
Regardez aussi ce: ng-app vs data-ng-app, quelle est la différence?
A côté de cela, de mon expérience de travail avec des normes est toujours mieux lorsque votre produit sera livré à une possible grande foule (si vous r'construction d'un site web ou un public webapp et ainsi de suite) avec différents clients, versions, etc.
Si vous êtes à la construction d'un SPA à l'aide angulaire et peut-être phonegap pour créer une application mobile qui sera installé sur les appareils mobiles comme une application native, standard ne pouvait pas être si important, l'important c'est qu'elle fonctionne sur les périphériques cibles.
Validateur W3C HTML5 responsable ici. Nous avons eu des discussions sur la manière de traiter mieux faciliter la validation des documents qui contiennent des attributs personnalisés comme Angulaire du
ng-*
les attributs, les attributs, qui, bien que non-standard sont encore très largement et correctement utilisé, et ainsi d'avoir le programme de validation d'émettre des “erreur” messages à leur sujet n'est pas vraiment aider les auteurs.Une fonctionnalité que j'ai ajouté au validateur HTML5 pour atténuer ce est un “filtrage des Messages” fonctionnalité qui vous permet de persistance d'ignorer l'erreur/d'avertissement des messages qui ne sont pas utiles ou importantes pour vous. Le frontend est ici:
http://validator.w3.org/nu/
Après vous soumettre un document pour vérifier, sur la page de résultats, vous verrez un le filtrage des Messages bouton, et si vous appuyez sur, vous obtiendrez une liste de tous les messages d'erreur groupés en ensembles, avec Afficher/Masquer les cases à cocher.
Mise à jour 2017-02-06: spécification HTML proposition pour les attributs personnalisés en discussion
J'ai récemment ajouté le support pour personnaliser les éléments à la HTML Checker (validateur du W3C)—donc, pour ajouter le support personnalisé attributs, je pourrais utiliser un mécanisme similaire à ce que j'ai utilisé pour la réalisation de l'.
Mais le HTML vérificateur ne peut pas être modifié pour permettre la coutume-les noms d'attribut jusqu'à ce que la spécification HTML est mis à jour pour leur permettre. Pour cela, voir la proposition en cours de discussion dans le code HTML-spec issue tracker.
ng-
erreurs par exemple)?vnu.jar
fichier et de l'exécuter commejava -Dnu.validator.messages.limit=XXXXX ~/vnu.jar some-document-with-a-lot-of-errors.html
(où XXXX est un nombre). Pour plus de détails sur lavnu.jar
fichier, voir validateur.github.io/validator et pour le télécharger aller sur github.com/validator/validator/releases/latest.vnu.jar
serveur: stackoverflow.com/a/52402947/2261442Que vous "devrait" soins " ou pas, c'est à vous. Il y a beaucoup de pages, il y qui ne sont pas valides HTML.
HTML5 permet attributs personnalisés lorsque le préfixe
data-
, de sorte que vous pouvez utiliser l'un de l'autre correspondent à des directives comme:Ouais. Le long de ces lignes, j'ai écrit à ce sujet dans un peu plus de longueur récemment dans un “Pourquoi Valider?” l'article que j'ai ajoutée à la section “à Propos” du validateur HTML5:
http://validator.w3.org/nu/about.html#why-validate
La source pour le texte de cet article est ici:
https://github.com/validator/validator/blob/master/site/nu-about.html#L160
Et tirez les demandes avec des suggestions d'améliorations/ajouts sont les bienvenus.
Ce que j'ai actuellement ceci:
Utiliser le préfixe "données" dans votre angulaire de l'app.
Exemple:
Vous pouvez utiliser le système de construction GulpJs et essayer un plugin que j'ai écrit et qui fait exactement ce que vous voulez:
conversion
ng-directives
endata-ng-directives
qui est la spécification du W3C pour la validation html5.Il est largement testé et trouvé ici: https://github.com/pgilad/gulp-angular-htmlify
https://www.npmjs.com/package/gulp-angular-htmlify
Vous pouvez
install with npm
:Ça dépend de la taille de votre projet.
Généralement, HTML conventions sont là pour aider à prévenir antipatterns et garder le code maintenable.
Qui règle particulière (nécessitant un tag avec le préfixe -données à un attribut valide) est à mon avis un peu superflu, car il tend à promouvoir supplémentaire de balisage qui ne sert à rien.
Je dirais, s'en tenir à la validation de votre code HTML à l'encontre de WC3 conventions si vous travaillez dans un gros projet avec beaucoup de développeurs. Sinon, il n'y a pas de réels avantages.
Essayez d'exécuter le script sur la sécurité domail avec le https:
Consulter le même ci-dessous à l'aide de https: