valid uses .has-error now instead of .error to make use of bs3's styles