Проверка на стороне клиента Rails не проходит истину даже после выбора jquery datepicker

В моем приложении я реализовал jquery datepicker, а также проверки на стороне клиента rails. Но даже после того, как я выбираю даты, я получаю сообщение об ошибке «не может быть пустым», и форма не отправляется. Как мне пройти проверку после выбора даты.

Пожалуйста, найдите мой код для datepicker ниже.

jQuery(document).ready(function($){  
$('#project_start_date').datepicker({ dateFormat: "yy-mm-dd",onSelect: function(selected) {

$("#project_end_date").datepicker("option","minDate", selected)

}
});

person rubyist    schedule 22.12.2012    source источник


Ответы (2)


Как описано в Вики по проверке на стороне клиента, вы можете добавить эту опцию, чтобы сделать jQueryUI DatePicker совместимым с проверками на стороне клиента:

onClose: function(dateText, inst) { $(inst.input).change().focusout(); }

В вашем примере:

$('#project_start_date').datepicker({
  dateFormat: "yy-mm-dd",
  onSelect: function(selected) { $("#project_end_date").datepicker("option","minDate", selected) },
  onClose: function(dateText, inst) { $(inst.input).change().focusout(); }
})
person Jason Galvin    schedule 26.09.2013

Основная проблема заключается в том, что проверка запускается, когда фокус отсутствует... в качестве обходного пути вы можете запускать события фокуса вручную после закрытия сборщика данных.

$('#project_start_date').datepicker({ dateFormat: "yy-mm-dd",onSelect: function(selected) {

$("#project_end_date").datepicker("option","minDate", selected)

}, onClose: function(){
      //workaround to trigger javascript validation
      $(this).focusout();
}
});
person Ahmed Mohsen    schedule 14.03.2013