我正在使用Jquery验证,我正在尝试进行日期验证,以便用户只能输入每月的第1个作为有效日期,因此例如08/01/2012将是有效日期但不是08 / 02/2012。
现在我有以下代码,这只是做基本的日期检查是否有我可以添加的规则,所以它检查日期是每个月的第一天?提前谢谢!
<script>
$(document).ready(function(){
$("#formID").validate({
rules: {
CurrentEligibleEmployees: {
required: true,
number: true},
EstimatedEnrolledEmployees: {
required: true,
number: true},
DesiredEffectiveDate: {
required: true,
date: true},
PlanAnniversaryStartDate: {
required: true,
date: true},
PlanAnniversaryEndDate:{
required: true,
date: true}
}
});
});
</script>
答案 0 :(得分:1)
我不会让用户输入日期,而只是输入月份和年份。你可以从jquery ui datepicker创建一个月选择器。这就是我曾经做过的事情:
monthpicker.js:
$.fn.monthpicker = function()
{
var element = $(this);
element.datepicker(
{
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm',
onClose: function()
{
var widget = get_widget();
var month = widget.find(".ui-datepicker-month :selected").val();
var year = widget.find(".ui-datepicker-year :selected").val();
element.datepicker('setDate', new Date(year, month, 1));
widget.hide().removeClass("monthpicker");
},
beforeShow : function()
{
get_widget().addClass("monthpicker");
var datestr = element.val();
if (datestr.length > 0)
{
var date = datestr.split('-');
year = date[0];
month = date[1] - 1;
element.datepicker('option', 'defaultDate', new Date(year, month));
element.datepicker('setDate', new Date(year, month));
}
}
});
function get_widget()
{ return element.datepicker("widget"); }
};
monthpicker.css
.monthpicker .ui-datepicker-calendar{
display: none;
}
所以现在你有一个
<input type="text" id="themonth">
并在脚本中执行此操作:
$('#themonth').monthpicker();
但是日期格式可能是你需要改变的,因为我使用了YYYY-MM