加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 16:57:15 所属栏目:安全 来源:网络整理
导读:我有一个格式化日期的指令.当输入格式出错时,它应该返回错误信息,例如ng-invalid.现在它可以在这种情况下设置ng-invalide,但如果输入格式错误,它还设置ng-valid-parse.在我看来,由于格式出错,它不是valide. 所以这里有我的问题:如何设置ng-valid-parse? my
我有一个格式化日期的指令.当输入格式出错时,它应该返回错误信息,例如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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读