Total rewrite of the validation rules for each validation type. 

Let the validation-type classes handle the heavy lifting, and check the "validation" variable in the end, to see if "invalid" class should be applied or not.