Сообщение об ошибке проверки HTML раскрывает правильное значение непреднамеренно
Я пытаюсь использовать поле ввода числа HTML для проверки одноразового кода пользователя. Одноразовый код является атрибутом модели Django в модели user, а объект user передается в шаблон HTML. В настоящее время он настроен следующим образом:
<input type="number" name="auth_code" value="" min="{{user.auth_code}}" max="{{user.auth_code}}" onchange="this.setCustomValidity('')" onkeypress="this.setCustomValidity('')" oninput="this.setCustomValidity('')" oninvalid="this.setCustomValidity('This authorization code is incorrect.')" required />
Если код пользователя равен 100000, а я ввожу 100001, я получаю сообщение oninvalid (как и ожидалось). Однако, если я удалю цифру (или все число), я получу сообщение "Значение должно быть user.authcode". Очевидно, что я не хочу, чтобы это значение отображалось.
Если я устанавливаю любое сообщение в поле onchange или oninput, отличное от ('') (т.е. ('Enter a code.')), я не могу подтвердить ни один код (правильный или неправильный). Я сталкиваюсь с сообщением "Этот код авторизации неверен." даже при валидации 100000.
Как я могу обойти это?