Tag helper to add class if the model is invalid
Have you considered adding style rules to class input-validation-error? It gets added to input element when its value is recognized as invalid.

See live example on .NET Fiddle.

However, if you really need to add your own custom class, take notice that your code only adds custom class to input elements on server side, so that specific class will stay on input elements forever (until next HTTP request). Earlier, I suggested making use of default input-validation-error class, because jQuery validation plugin takes care of removal that class when it discovers the input value as valid. Eventually, you would have to implement same client-side mechanism to remove/add your custom class probably by writing custom jQuery validation script.

Of course, none of above is a real problem if you simply do not care about dynamic client-side validation.