Как решить проблему при использовании jQuery DatePicker и валидации одновременно

StackOverflow https://stackoverflow.com/questions/2542593

  •  23-09-2019
  •  | 
  •  

Вопрос

Когда я использовал DatePicker с значком триггера, чтобы пользователи могли выбрать дату, нажав на этот значок или тип непосредственно в TextBox (txtDate), я также использовал проверку jQuery, чтобы требовать текстового поле не должно быть пустым. Но когда пользователь отправит форму с пустым текстовым поле (txtdate.text = ""), сообщение об ошибке значка Tright Trigge вправо. Не могли бы вы сказать мне решение? Большое спасибо!

Это было полезно?

Решение

$('#some_form').validate({
  rules: {...},
  messages: {...},
  errorPlacement: function(error, element) { //solve you problem
    var trigger = element.next('.ui-datepicker-trigger');
    error.insertAfter(trigger.length > 0 ? trigger : element);
  }
});

Другие советы

Функция ошибки получает два параметра - сообщение об ошибке и проверенный элемент. Используйте последнее, чтобы решить, можно ли настроить размещение для ваших полей (например, добавив класс):

$('form').validate({
      rules: {...},
      errorPlacement: function(error, element) {
            if (element.hasClass('customError')) {
                  // custom error placement
            }
            else {
                  element.after(error); // default error placement
            }
      }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top