2011-10-11 4 views
1

제 문제를 해결하기 위해 another answer을 사용했습니다.종료일이 시작일보다 큰지 어떻게 확인합니까?

jQuery.validator.addMethod("greaterThan", function(value, element, params) { 
    return new Date(value) > new Date($(params).val()); 
}, 'Must be greater than {0}.'); 

그러나 내 날짜 필드는 텍스트 상자이며 dd-mm-yyyy과 같은 형식입니다. 유효성 검사가 작동하도록이 코드를 어떻게 변경합니까?

답변

0

먼저 텍스트 상자 값을 파싱하여 날짜를 가져와야합니다.

귀하의 검증 기능 본체해야 할 (인라인 주석에서 설명) :

// date parsing regular expression 
var rx = /([0-2]?\d|3[01])-(0?\d|1[0-2])-(\d{4})/i; 

// get textbox value 
var val = $(params).val(); 

// default date 
var date = new Date(); 

// parse date if entered correctly 
if (rx.test(val)) 
{ 
    // get date parts 
    var result = rx.exec(val); 

    // generate date instance 
    date = new Date(result[3], result[2]-1, result[1]); 
} 

// validate dates 
return new Date(value) > date; 
0
function ValidateEndDate() { 
     var startDate = $("txtfromdate").val(); 
     var endDate = $("txttodate").val(); 
     if (startDate != '' && endDate !='') { 
      if (Date.parse(startDate) > Date.parse(endDate)) { 
       $("txttodate").val(''); 
       alert("Start date should not be greater than end date"); 
      } 
     } 
     return false; 
    } 
가장 좋은 방법은 정규 표현식 것
관련 문제