2

在我的应用程序中,我实现了jQuery的datepicker以及rails客户端验证。但即使在我选择日期后,我也会得到“不能为空”的错误,并且表单不会被提交。如何在选择日期后通过验证。Rails客户端验证不通过,即使选择jQuery的日期选择器验证

请在下面找到我的datepicker代码。

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

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

} 
}); 

回答

0

的主要问题是,当焦点不在验证触发...作为一个变通方法,您可以触发焦点事件,该datapicker关闭

$('#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(); 
} 
}); 
1

后手动作为对Client Side Validations wiki描述,你可以添加这个选项,以使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(); } 
})