Used HTML5 input, added soft validation to match for legacy support.