AngularJS $ setvalidity MomentJS

时间:2016-03-10 22:15:38

标签: angularjs typescript momentjs

我正在使用AngularJS TypeScript MomentJS来编写一个指令,该指令验证输入是否为写日期格式。

以下是指令

declare function moment(x: any,y:any);

((): void => {
    'use strict';


    function validDate(): ng.IDirective {

        var directivedate = <ng.IDirective>{
            restrict: 'AE',
            require: 'ngModel',
            scope: true,
            link: link
        };


        function link(scope: ng.IScope, elm: ng.IAugmentedJQuery, attrs, ctrl: ng.INgModelController) {


            ctrl.$parsers.unshift(function(viewValue) {
                dateFormat(viewValue);
            });
            ctrl.$formatters.unshift(function(viewValue) {
                dateFormat(viewValue);
            });

            var dateFormat = function(viewValue) {



                var val = moment(viewValue, "DD/MM/YYYY").isValid();
                ctrl.$setValidity('validDate', val);




            }


        }

        return directivedate;

    }

    angular.module('validDate', []).directive('validDate', validDate);
})();

我的问题是,如果我在console.log val中它是正确的true或false,但$ setvalidity根本不起作用。

关于为什么会这样的任何想法。

由于

0 个答案:

没有答案