2013-03-12 10 views
1

날짜 입력란은 2013-02-13과 같은 형식으로 유효성이 검사되지 않지만 2013-12-12에 유효합니다. 선행 제로는 모든 노드 형식에서 문제를 만드는 것으로 보입니다. 나는 "clientside validation"모듈을 가지고있다. 이 버그/문제와 관련된 부분을 어디서든지 찾을 수 없으므로 여기에 게시하고 있습니다.날짜 필드 유효성 검사 문제

아무도 도와 줄 수 있습니까?

답변

0

달의 & 일의 유효성을 검사하기 위해 parseInt를 사용하기 때문에 clientside 유효성 검사 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')); 
+1

고마워 Dilipkumar 그것이 효과가있다. 그리고 감사합니다 kiamlaluno 에디션. –