2012-08-31 5 views
0

날짜 입력 필드의 유효성을 검사하려고합니다. 내가jquery를 사용한 날짜 검증.

$('#delivery_date').datePicker({ minDate: 0 }); 

를 사용하여 오래된 날짜를 입력 방지하기 위해 JQuery와 날짜 선택기를 방지 할 수 있습니다하지만 사용자가 수동으로 날짜를 입력 할 수 있습니다. 이것을 방지하거나 유효성을 검사하는 방법은 무엇입니까? 그것은 나를 위해 작동하지 않습니다으로

답변

1
// when the field changes value 
$('#delivery_date').on('change',function(){ 
    var today = new Date(); 
    today = new Date(today.getYear(), today.getMonth(), today.getDate()); 
    // compare the value of the field with whatever you want to test against 
    if($(this).val() > today){ 
     // if the test fails, change the value to default 
     $(this).datepicker('setDate', new Date()); 
    } 
}) 
+0

감사합니다 .... 나는 이것들을 시도 할 것이다. 임시 조치로 나는 날짜 입력 필드를 읽기 전용으로 만들었습니다 .... 날짜를 입력하는 유일한 방법은 datepicker를 사용하여 선택하는 것입니다. 그리고 데이트 피커에서 나는 지난 날짜를 사용하지 않았다. –

+0

모든 클라이언트 측 코드는 우회하여 무시할 수 있음을 기억하십시오. 데이터 무결성을 보장하기 위해 유효성 검사 서버 측을 복제해야합니다. 클라이언트 측 유효성 검사는 사용자 편의를위한 것입니다. –

0
$('#delivery_date').on('change', function(){ 
    var today = new Date(); 
    if(new Date($(this).val()) < new Date(today.getYear(), today.getMonth() - 1, today.getDate()) $(this).datepicker('setDate', new Date()); 
}); 
+0

안녕하세요 당신이, maxDate가 작동하는지 확인할 수 있습니다 ($ ('#의 DELIVERY_DATE') 날짜 선택기 ({의 startDate :. '01/01/1970 ', maxDate : "+5"});) 날짜 선택에 영향을 미치지 않으므로 날짜를 선택할 수 있습니다. –