#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()
.