Как мне изменить текст «недопустимый ввод» в формах HTML5

#forms #html #validation

#формы #HTML #проверка

Вопрос:

Если тип поля ввода email в форме html5, и если кто-то не вводит действительный адрес электронной почты, он скажет Please enter an email address.

Есть ли способ изменить этот текст без тонны javascript? (под множеством javascript я подразумеваю другую реализацию этого поля ввода, написанную с большим количеством javascript, которые обычно зависят от jQuery или других)

Ответ №1:

Вы можете попробовать установить атрибут ValidationMessage, но я не знаю, соблюдает ли его какой-либо браузер.

Вот их пример настройки пользовательского сообщения setCustomValidity

В Firefox также есть атрибут x-moz-ErrorMessage

Пример:http://jsfiddle.net/XYgJH /

 <form>
<input type="email" oninput="check(this)"/>
</form>
<script>
    function check(input){
    if(input.valid){
        input.setCustomValidity('');
    } else {
        input.setCustomValidity('silly duck');
    }
}
</script>
  

Комментарии:

1. Есть опечатка, которую я не смог исправить. В случае, если кто-то еще ищет, это на самом деле: x-moz-errorMessage

Ответ №2:

Firefox реализовал нестандартный атрибут: x-moz-errormessage

Таким образом, у вас может быть что-то вроде этого, где текст заголовка используется, когда поле остается пустым:

 <input type=“email” required x-moz-errormessage=“Wrong!” title=“Try again”>
  

Ответ №3:

В настоящее время Firefox поддерживает атрибут x-moz-errormessage , который заменяет встроенное сообщение об ошибке.

В противном случае, если вы знаете, когда должна быть запущена проверка, вы можете временно установить пользовательское сообщение о недопустимом состоянии с помощью isValid() и setCustomValidity() .