как установить setCustomValidity (this.willvalidate? '' & hellip; пользовательское сообщение [дубликат]

6
задан Utkanos 14 July 2014 в 23:07
поделиться

2 ответа

willValidate - это свойство, которое говорит, может ли валидационный ввод, а не если он действителен или нет. Единственный момент, когда willValidate является ложным, - это если элемент ввода отключен или тому подобное.

См. http://www.html5rocks.com/en/tutorials/forms/constraintvalidation/# toc-willValidate

Используйте field.validity.valid вместо этого, чтобы проверить достоверность.

http://jsfiddle.net/3xFua/

(function() {
    var field = document.querySelector('input[type=text]');
    document.querySelector('button').addEventListener('click', function() {
        console.log('Validates: ', field.validity.valid);
        console.log('Value missing: ', field.validity.valueMissing);
    }, false);
})();
5
ответ дан Utkanos 23 August 2018 в 16:58
поделиться

В документации предлагается использовать .checkValidity(), который

Method Description

checkValidity () Возвращает true, если значение элемента не имеет проблем с действительностью ; false в противном случае. Если элемент недействителен, этот метод также вызывает недопустимое событие в элементе.

while (как правильно сказано в @ soktinpk ) .willValidate просто флага как доступный для проверки, а не для прохождения проверки.

Таким образом, я рекомендую использовать это:

function() {
    alert('Validates: '+field.checkValidation());
    alert('Value missing: '+field.validity.valueMissing);
}

вне темы, alert является ужасным инструментом отладки. Рассмотрим использование console.log или debugger;

1
ответ дан Community 23 August 2018 в 16:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: