Что ж, если вы сохраните старое значение с момента последнего подтверждения ввода, вы можете сбросить значение счетчика до последнего действительного значения.
boolean valid = validate(spinner);
if (valid)
validValue = spinner.getValue();
else
spinner.setValue(validValue);
Может быть, что-то в этом роде.