程序中,有2个文本框,输入4位数字作为年份。我们可以写一个定义指令,来检测输入是否为有效的年份。
如ms sql server的min year为1753,max year为9999。
'use strict'; app.directive('validateYear', function () { return { restrict: 'AE', require: 'ngModel', link: function (scope, element, attributes, control) { control.$validators.validateYear = function (modelValue, viewValue) { if (control.$isEmpty(modelValue)) { return true; } var year = Number(viewValue); if (year >= 1753 && year <= 9999) { return true; } return false; }; } }; });