입력란에 Bootstrap Datepicker (여기에서 찾을 수 있습니다 : http://mgcrea.github.io/angular-strap/#/datepicker)를 사용하고 있습니다. 기본적으로 datepicker를 사용하면 날짜를 입력 할 수 있습니다. 유효하면 날짜를 설정합니다. 그렇지 않으면 날짜를 현재 날짜로 설정합니다. AngularJs Bootstrap Datepicker 유효성 검사
내가 입력 :maskModelCtrl.$parsers.push(function(inputValue) {
var val = maskRenderLogic(inputValue, mask, maxVal);
setAndRender(maskModelCtrl, val);
return maskReturnLogic(val);
});
이 될 수있는 날짜를 문자 만에 정규 표현식을 사용하는 지시어를 썼다 그리고 템플릿과 날짜 선택기에 대한 입력 필드를 표준화하기위한 지침을 썼다 :
angular.module('form.validation').directive('dateMask', ['$parse', function($parse) {
return {
restrict: 'E',
scope: {
date: '='
},
template: '<input ng-model="date" regex-mask="[^0-9 /]" max-length="10" bs-datepicker data-date-format="mm/dd/yyyy" placeholder="mm/dd/yyyy" >',
replace: true
};
}]);
문제는 datepicker가 키보드 입력 또는 날짜 선택을 현재 날짜로 변환한다는 것입니다. (plnkr : http://plnkr.co/edit/oCZnq0UOmaxC83Rv7YSs?p=preview) 나는이 지시어들이 서로 호환되지 않아야한다고 생각하지 않는다.
가 'ngModel'후 쉼표 누락이
지침 누락 "VAR, 당신의 지시는 $ 포매터 및 $ 파서를 활용해야한다고 말했다되고 그건
"var validate = function ...에서 $ formaters 및 $ parser에 예외를 throw합니다. 실제로이 두 가지를 시작하는 방법에 대한 명확하지 않은 컨텍스트가 있습니다. Controller (?)에로드해야하는지 JSFiddle 샘플이 어떻게 평가 될까요? 어쨌든 좋은 방향으로 팁을 주셔서 감사합니다. – lubosdz