日期字段验证问题

时间:2013-03-12 12:10:10

标签: drupal-7

日期字段未针对2013-02-13这样的格式进行验证,但适用于2013-12-12。前导零似乎在任何节点形式中都会产生问题。我有“客户端验证”模块。我无法在任何地方找到与此错误/问题有关的任何内容,所以我在这里发帖。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

由于使用parseInt验证一个月和一个月,客户端验证js存在问题。日期的日期值。只需替换它

jQuery.validator.addMethod("dateFormat", function(value, element, param) {
      var parts = value.split(param.splitter);
      var expectedpartscount = 0;
      var day = parseInt(parts[param.daypos], 10);
      var month = parseInt(parts[param.monthpos], 10);
      month = month - 1;
      var year = parseInt(parts[param.yearpos], 10);
      var date = new Date();
      var result = true;

 /* if (day.toString().length !== parts[param.daypos].length){
        result = false;
      }
      if (month.toString().length !== parts[param.monthpos].length){
        result = false;
      }*/
      if (year.toString().length !== parts[param.yearpos].length){
        result = false;
      }
      if (param.yearpos !== false){
        expectedpartscount++;
        date.setFullYear(year);
        if (year !== date.getFullYear()) {
          result = false;
        }
      }
      if (param.monthpos !== false) {
        expectedpartscount++;
        date.setMonth(month);
        if (month !== date.getMonth()) {
          result = false;
        }
      }
      if (param.daypos !== false) {
        expectedpartscount++;
        date.setDate(day);
        if (day !== date.getDate()) {
          result = false;
        }
      }
      if (expectedpartscount !== parts.length) {
        result = false;
      }
      return this.optional(element) || result;
    }, jQuery.format('The date is not in a valid format'));