0

我們正在爲我們的項目使用Angular js。以及我們通過Angular js處理的所有驗證。如何使用Angularjs驗證年齡?

我們能夠驗證除下拉框外的所有文本字段。

我們有三個datefields下拉框(dd mm yyyy)。現在我有兩個問題...

  1. 如果我可以從這三個下拉列表中獲取值以及如何形成日期。

  2. 然後,我想驗證該日期(如果年齡大於50,則設置錯誤標誌)。我如何使用Angular js做到這一點?如果用戶選擇年齡超過50歲,我想將表單設置爲無效。

請讓我這麼做?我完全不熟悉angular js。

+2

顯示你有什麼代碼 –

回答

1

我沒有任何代碼從您根據回答過的,但在這裏是爲了幫助您找到正確年齡的關係:

$scope.dateDiff = function(birthMonth, birthDay, birthYear) { 
    var todayDate = new Date(), 
     todayYear = todayDate.getFullYear(), 
     todayMonth = todayDate.getMonth(), 
     todayDay = todayDate.getDate(), 
     age = todayYear - birthYear; 

    if (todayMonth < birthMonth - 1) 
    { 
     age--; 
    } 

    if (birthMonth - 1 === todayMonth && todayDay < birthDay) 
    { 
     age--; 
    } 
    return age; 
}; 

$scope.dateDiff(8,15,1963); // return as 50 as birthday has passed 
$scope.dateDiff(9,15,1963); // return as 49 as birthday has not yet happened 

在你的HTML,你可以使用ng-options允許用戶從下拉列表中選擇日期。

Day <select ng-model="selectedDay" ng-options="day as day.date for day in days"></select> 

Here is a full working example

因爲您是Angular的新手,請務必花時間瞭解此代碼的工作原理。起初,ng-options看起來有點混亂,但是當你開始理解Angular Principles時,它不應該是一個問題。