Changed how the validation works - only runs if not defaultValue and not required