Отображение сообщения об ошибке валидатора диапазона при вводе html

0

У меня есть input type = text в html, и у меня есть этот js-код в js файле, чтобы показать сообщение об ошибке

 var $form = $("#myid"),
    $errorMsg = $("<span id='myerrormessagespan' class='error' style='color:red;'>*</span>");


var toReturn = 0;
$("input", $form).each(function () {
    if ($(this).val() == "") {
        if (!$(this).data("error")) {
            $(this).data("error", $errorMsg.clone().insertAfter($(this)));
        }
        toReturn = 1;


    }
    else {
        if ($(this).data("error")) {
            $(this).data("error").remove();
            $(this).removeData("error");
        }
    }

});

Я пытаюсь преобразовать этот код, чтобы сделать валидатор диапазона в поле ввода type = текстовое поле.dispalying всего 5 цифр в текстовом поле, но я не смог достичь. Есть ли простой способ сделать это?

благодаря

Теги:

1 ответ

0

Вместо этого рассмотрите использование плагина проверки jQuery, особенно метод rangelength для вашего случая. Однако, если вы хотите придерживаться исходного кода без использования какой-либо библиотеки, я предлагаю вам попробовать следующий код:

HTML:

<form id="myid" name="myid" method="post" action="/">name :
    <input type="text" name="name" id="name" />age :
    <input type="text" name="age" id="age" />
    <input type="submit" id="submit" name="submit" value="Save" />
</form>

jQuery:

var $form = $("#myid"),
$errorMsg = $("<span id='myerrormessagespan' class='error' style='color:red;'>*</span>");

$("#submit").on("click", function () {
    var toReturn = true;
    $("input", $form).each(function () {
        var value = $(this).val();
        if((!$.trim(this.value).length) || (value.length > 5)) {
                if (!$(this).data("error")) {
                    $(this).data("error", $errorMsg.clone().insertAfter($(this)));
                }
                toReturn = false;
        }
        else {
                if ($(this).data("error")) {
                    $(this).data("error").remove();
                    $(this).removeData("error");
                }
        }
    });
  return toReturn;
});

Рабочая демонстрация JSFiddle

Ещё вопросы

Сообщество Overcoder
Наверх
Меню