0

我正在使用 Jquery 验证,我正在尝试进行日期验证,以便用户只能输入每个月的第一天作为有效日期,例如 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>
4

1 回答 1

1

我不会让用户输入日期,而只输入月份和年份。您可以从 jquery ui datepicker 制作月份选择器。这是我曾经做过的事情:

月份选择器.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"); }
};

月份选择器.css

.monthpicker .ui-datepicker-calendar{
        display: none;
}

所以现在你有一个

<input type="text" id="themonth">

在脚本中你这样做:

$('#themonth').monthpicker();

但是日期格式可能需要更改,因为我使用了 YYYY-MM

于 2012-08-03T22:31:26.660 回答