我正在尝试使用angular指令验证年龄(即大于18).谁能帮我验证年龄?
<input type="date" data-ng-model="personalDetailsObj.personalDetails.dob" name="dob" ng-required="true" ng-class="{ 'has-errors' : personalDetailForm.dob.$invalid, 'no-errors' : personalDetailForm.dob.$valid}" age-valid="18">
Run Code Online (Sandbox Code Playgroud)
.directive('ageValid', ['$filter', function($filter) {
return {
restrict: 'A',
require: 'ngModel',
scope: {
ageValid: '='
},
link: function(scope, element, attrs) {
scope.$watch(attrs.ngModel, function(value) {
var todayDate = new Date(),
todayYear = todayDate.getFullYear(),
todayMonth = todayDate.getMonth(),
todayDay = todayDate.getDate(),
dateFieldVal = value;
console.log(dateFieldVal);
var formattedDate = $filter('date')(dateFieldVal,'yyyy-MM-dd');
console.log(formattedDate);
/*var isValid = (value.length === $scope.ngLength);
ngModel.$setValidity($attrs.ngModel, isValid);*/
});
}
}
}])
Run Code Online (Sandbox Code Playgroud)
您不需要指令,您可以:
<input type="date" max="{{minAge | date:'yyyy-MM-dd'}}"/>
Run Code Online (Sandbox Code Playgroud)
而你的控制器:
var today = new Date();
var minAge = 18;
$scope.minAge = new Date(today.getFullYear() - minAge, today.getMonth(), today.getDate());
Run Code Online (Sandbox Code Playgroud)
这是一个吸烟者
| 归档时间: |
|
| 查看次数: |
7390 次 |
| 最近记录: |