Почему не работает валидация номера телефона?

141
27 марта 2021, 07:40

Ситуация следующая. Валидация номера телефона работает не до конца. Закомментирован код не решает моей проблемы. Если добавить свойство minlength, то даже при вводе хоть одного символа форма считается валидная. Если добавить свойство number, то даже если заполнить все символы, валидация проходить не будет. Помогите пожалуйста в решении этой проблемы.
Форма в самом низу

// Validation input number phone 
// https://github.com/RobinHerbots/inputmask 
$(document).ready(function(){ 
    $('.input-tel').inputmask("+7(999)999-99-99"); 
}); 
 
 
// Validation form 
// https://jqueryvalidation.org 
$("#contacts-form").validate({ 
 
    rules: { 
        input_name: { 
            required: true 
        }, 
        input_tel: { 
            required: true, 
            //minlength: 10, 
            //number: true 
        }, 
        input_email: { 
            email: true 
        }, 
        "contacts_check_accept[]": { 
            required: true, 
            minlength: 1 
        }, 
    }, 
    messages: { 
        input_name: { 
            required: "Это поле обязательно к заполнению", 
        }, 
        input_tel: { 
            required: "Это поле обязательно к заполнению", 
        }, 
        input_email: { 
            email: "Введите пожалуйста корректный e-mail" 
        }, 
        "contacts_check_accept[]": "Согласитесь с Политикой конфеденциальности" 
    }, 
    focusCleanup: true, 
    focusInvalid: false, 
    errorClass: "form__input_error", 
    validClass: "form__input_success" 
});

Answer 1

Можно решить с помощью добавления параметра "clearIncomplete". Примерно так:

$(document).ready(function(){ 
 //$('.input_tel').inputmask({"mask": "(999) 999-9999"}); 
 $(".input_tel").inputmask("+7(999)999-99-99",{ "clearIncomplete": true }); 
   jQuery.validator.setDefaults({ 
  debug: true, 
  success: "valid" 
}); 
$( "#myform" ).validate({ 
submitHandler: function(form) { 
    //$('#myform').ajaxSubmit(); 
    alert('asd'); 
  }, 
  rules: { 
    input_tel: { 
      required: true, 
     // number: true, 
      //minlength: 3 
    } 
  } 
}); 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script> 
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/additional-methods.min.js"></script> 
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/3/jquery.inputmask.bundle.js"></script> 
<form action="#" id="myform"> 
  <input type="text" class="input_tel" name="input_tel"> 
  <button type="submit">Submit</button> 
</form>

READ ALSO
как работает функция copy [закрыт]

как работает функция copy [закрыт]

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение

148
Шестиугольник в svg с изображением

Шестиугольник в svg с изображением

Есть два svg с изображением внутри, но во 2-ом svg у изображения другой размер, из-за этого 2-ой svg преобразуется в восьмиугольник

111
Заполнение контейнера std::map с учётом значений по умолчанию

Заполнение контейнера std::map с учётом значений по умолчанию

Подскажите можно ли сделать следующую задачу "в одну строчку", те

113
Как увеличить размер QWidget за пределы Parent Widget

Как увеличить размер QWidget за пределы Parent Widget

Когда увеличиваешь размер виджета то не выходит за пределы родителя А если не даешь указатель на родителя то нормально выходит за пределы...

157