Я работаю с приложением, которое генерирует HTML-формы и включает в себя пользовательские атрибуты, которые будут использоваться для проверки на стороне клиента.Сообщение об ошибке, которое будет использоваться для проверки, включается в атрибут error , а выражение для проверки входных данных включается в атрибут expression .
У меня есть следующий блок JavaScript,
$(document).ready(function() {
$("input[expression]").blur(function() {
var inputs = $(":input[expression]");
inputs.each(function(index){
var input = inputs[index];
var expression = $(this).attr('expression');
if(!$(this).val().match(expression))
{
var error = $(this).attr("error");
$(this).attr("title",error);
$(this).tooltip({ position: "center right", opacity: 0.7});
$(this).tooltip().show();
}
else
{
}
});
});
});
То, что я пытаюсь сделать, это настроить все поля с атрибутом expression , чтобы проверить их значение выражения против текущего значения при вводе, теряет фокус.
Сейчас это вроде работает, но не с тем поведением, которое я хотел бы иметь.
Прямо сейчас, появляется сообщение об ошибке всплывающей подсказки при нажатии наэлемент ввода.Я не хочу этого, я только хочу, чтобы он отображал сообщение об ошибке после выполнения функции обратного вызова blur()
.
Есть ли правильный способ сделать это?
Пример того, как будет выглядеть моя разметка, показан ниже
<input type='text' name='firstName' expression='[a-zA-Z]' error='Please Enter First Name'/>