我使用jQuery UI datepicker, jquery验证我的表单… 我想检查您选择的日期是否低于:01-04-1947,如果您选择的日期低于那么,那么它应该显示错误消息! 无法弄清楚如何做到这一点 – 这是我到
我想检查您选择的日期是否低于:01-04-1947,如果您选择的日期低于那么,那么它应该显示错误消息!
无法弄清楚如何做到这一点 – 这是我到目前为止所得到的?
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> <script type="text/javascript" src="js/jquery-ui-1.8.17.custom.min.js"></script> <script type="text/javascript" src="js/jquery.ui.datepicker-da.js"></script> <script type="text/javascript" src="js/jquery.validate.min.js" ></script> <script> $(document).ready(function() { //Hide div w/class $(".datecontainer").css("display","none"); // Add onclick handler to checkbox w/class bool $(".bool").click(function(){ // If checked if ($("#notificationbox_yes").is(":checked")) { //show the hidden div $(".datecontainer").show("fast"); } else { //otherwise, hide it $(".datecontainer").hide("fast"); } }); $(function() { $("#datepicker").datepicker( { defaultDate: new Date(35,5,24), minDate: new Date(47, 3,1), /*maxDate: new Date(49,12,31),*/ changeMonth: true, changeYear: true, monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec'], dayNamesShort: ['Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør', 'Søn'], yearRange: '1901:2012', dateFormat: 'dd-mm-yy' } ); //Parse dato til format var endDate = $.datepicker.parseDate('dd-mm-yy', "01-04-1947"); var date = $.datepicker.parseDate('dd-mm-yy', $('#datepicker').val()); $.datepicker.parseDate('dd-mm-yy', $('#datepicker').val()); if (date <= enddate) { alert('error'); } }); $("#mainForm").validate(); }); </script>你需要的是一个如下所示的mindate验证方法:
$.validator.addMethod('mindate',function(v,el,minDate){ if (this.optional(el)){ return true; } var curDate = $(el).datepicker('getDate'); return minDate <= curDate; }, 'Please specify a recent date');
然后,在验证规则中,指定您的datepicker输入应使用它:
$("form").validate({ rules: { datepicker: { mindate: new Date(47,3,1), required: true } //the rest of your rules } //rest of validate options });
而已.在这里看到它:http://jsfiddle.net/ryleyb/uFdu7/
您可能希望在验证选项中定义更好的消息.