Spec-Zone.ru › Web APIs

HTMLObjectElement: метод setCustomValidity()

Базовая Широко поддерживается

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с декабря 2018 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод setCustomValidity() интерфейса HTMLObjectElement устанавливает пользовательское сообщение об ошибке валидации для элемента.

Синтаксис

setCustomValidity(errorMessage)

Параметры

errorMessage

Сообщение для ошибок валидации.

Возвращаемое значение

None (undefined).

Исключения

Нет.

Примеры

В этом примере мы передаём ID элемента input и устанавливаем разные сообщения об ошибках в зависимости от того, отсутствует ли значение, оно слишком мало или слишком велико. Обратите внимание, что сообщение не отобразится немедленно. Попытка отправить форму отобразит сообщение, или вы можете вызвать метод reportValidity() на элементе.

function validate(inputID) {
  const input = document.getElementById(inputID);
  const validityState = input.validity;

  if (validityState.valueMissing) {
    input.setCustomValidity("You gotta fill this out, yo!");
  } else if (validityState.rangeUnderflow) {
    input.setCustomValidity("We need a higher number!");
  } else if (validityState.rangeOverflow) {
    input.setCustomValidity("Thats too high!");
  } else {
    input.setCustomValidity("");
  }

  input.reportValidity();
}

Необходимо установить сообщение пустой строкой, если ошибок нет. Пока сообщение об ошибке не пустое, форма не пройдёт валидацию и не будет отправлена.

Спецификации

Спецификация
HTML
# dom-cva-setcustomvalidity-dev

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
setCustomValidity
10Этот метод только обновляет всплывающее окно с ошибками валидации, а не подсказку, которая появляется при наведении курсора на элемент, см. ошибку 41380670.
12 4 ≤12.1 5.1
18Этот метод только обновляет всплывающее окно с ошибками валидации, а не подсказку, которая появляется при наведении курсора на элемент, см. ошибку 41380670.
4 ≤12.1 5
1.0Этот метод только обновляет всплывающее окно с ошибками валидации, а не подсказку, которая появляется при наведении курсора на элемент, см. ошибку 41380670.
≤37

См. также

  • validityState
  • validityState.valueMissing
  • validityState.typeMismatch
  • validityState.patternMismatch
  • validityState.tooLong
  • validityState.tooShort
  • validityState.rangeUnderflow
  • validityState.rangeOverflow
  • validityState.stepMismatch
  • validityState.valid
  • validityState.customError

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API