我試圖驗證日期(DD/MM/YYY)輸入,然後,如果它不是日期不允許進入 - 如字符串或任何angularjs日期僅輸入
下面是我的代碼,但不工作 - 手段讓用戶輸入任何內容
angular.module('app')
.directive('onlyDates', function() {
return {
require: 'ngModel',
restrict: 'A',
link: function (scope, element, attr, ctrl) {
function inputValue(val) {
if (val) {
var reg = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g;
var res = reg.test(val);
if (!res) {
ctrl.$setViewValue(val);
ctrl.$render();
return NaN;
}
return val;
}
return undefined;
}
ctrl.$parsers.push(inputValue);
}
};
});
使用可以使用NG模式 –
NG模式,允許用戶輸入文本,然後驗證,但我想阻止用戶輸入任何隨機文本 –
可能幫助ühttp://codepen.io/TheLarkInn/post/angularjs-directive-labs-allowpattern-directive-fun-with-keycodes –