Il titolo era "troppo" accattivante, per questo lo hanno letto in tanti, poi non ci hanno capito molto e hanno lasciato perdere ..

Ancora non hai postato il codice che non ti viene validato.

Ma per la stampa io farei:
<button onclick="window\.print\(\)\;" value="stampa" />

Come vedi nel codice JS ci sono delle backslash davanti ai caratteri che potrebbero dar fastidio all'HTML.
Ora non ricordo quali sono i caratteri "cattivi", per cui fai un po' di prove.