Why not something like `[required]::after{content: "*"}` instead of requiring extra templates?