angularjs – 如何在Angular JS中设置ng-valid-parse

前端之家收集整理的这篇文章主要介绍了angularjs – 如何在Angular JS中设置ng-valid-parse前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个格式化日期的指令.当输入格式出错时,它应该返回错误信息,例如ng-invalid.现在它可以在这种情况下设置ng-invalide,但如果输入格式错误,它还设置ng-valid-parse.在我看来,由于格式出错,它不是valide.

所以这里有我的问题:如何设置ng-valid-parse?

myDirectives.directive('myDateFormat',function ($window) {
'use strict';
return {
    require: 'ngModel',restrict: 'A',link: function (scope,elm,attrs,ctrl) {

        // other codes ...

        ctrl.$parsers.unshift(function (viewValue) {
            var date = moment(viewValue,dateFormat);
            if(date && date.isValid()){
                return date.toDate();
            }else{
                ctrl.$setValidity('myDateFormat',false);
                return ""; // or it should return false here?
            }
        });
    }
};
});

谢谢 !

解决方法

当我在5个月后回顾我的问题时,我发现了类似的问题 How do ng-invalid-parse gets added to form?.

即使我将有效性设置为false:ctrl.$setValidity(‘myDateFormat’,false);,但是$parsers返回一个非未定义的对象.这意味着解析有效,因此设置了ng-valid-parse.

猜你在找的Angularjs相关文章