2017-07-14 84 views
-1

我使用angular-bootstrap-datetimepicker。我知道如何限制用戶輸入特定的日期。如何防止用戶在datetimepicker中輸入特定時間?

$dates.filter(function(date){ 
      return (date.localDateValue() <= new Date().valueOf()-(24*60*60*1000)); 
     }).forEach(function(date){ 
      date.selectable = false; 
     }) 

此代碼insode startDateBefore呈現,可防止用戶在當前日期之前輸入日期24小時。

但現在我希望用戶只輸入spectic倍。像用戶一樣,只能選擇10:05am to 11:10pm之間的時間。我無法做到這一點。文檔沒有指定如何將過濾器添加到小時和分鐘。任何幫助。

回答

0
date = new Date().valueOf(); 

if(date > 1000*(10*60+5)){ 
    if(date < 1000*(23*60+10)){ 
     //Code green, I repeat, CODE GREEN! 
    } 
} 
+0

感謝您的回答。由於我使用的角度日期時間選擇器使用視圖(日,小時,分鐘)的概念。訣竅在於正確使用視圖。 –

1

Angular Date Time Picker,該beforeRender功能也需要參數調用view。所以我們可以使用view==='hour'限制用戶輸入過去的幾小時。我錯過了幾個小時的代碼。

function startDateBeforeRender ($view, $dates, $leftDate, $upDate, $rightDate) {  
    var today = moment().valueOf(); 
    $dates.filter(function (date) { 
    return date.localDateValue() < today -(24*60*60*1000) 
    }).forEach(function (date) { 
    date.selectable = false; 
    }); 


// to restrict hours by admin 
if ($view === "hour") { 
    // restict previous hours 
    $dates.filter(function (date) { 
    return date.localDateValue() < today 
    }).forEach(function (date) { 
    date.selectable = false; 
    }) 

} 
} 
相關問題