Angular 1.x allowed to put elements in HTML, which were not known for W3C HTML Validator. Workaround for this was to add data- prefix and write e.g. data-ng-repeat instead of ng-repeat.
In the current Angular 2 version we have a different syntax. This syntax is also case-sensitive, e.g. we have to use ngClass, not ngclass.
All brackets used in Angular2 are causing HTML validation errors. Fortunately there is also a canonical form, so instead of (event) we can go with on-event, instead of [property] we can go with bind-property and instead of [(ngModel)] we can use bindon-ngModel. All those things work with data- prefix.
But what with directives like *ngFor, *ngIf and *ngSwitch? What with template variables #variable? Do you know any workaround in order to make Angular 2 template with those things a valid HTML in W3C Validator?
*ngForand so on by another way ? like on-event ?*ngForthe only way?