gpt4 book ai didi

javascript - 如何申请密码验证和验证密码

转载 作者:行者123 更新时间:2023-11-29 19:40:14 25 4
gpt4 key购买 nike

我创建了一个验证指令,它确保在密码和验证密码字段中输入相同的数据,它工作正常如果我在其中输入一些东西,如果我输入密码然后删除它,它不起作用.在这里检查plunker http://plnkr.co/edit/tsNqEpMtLY1aEkxBjNcw?p=preview

Type something in password field -> Update btn will disabled
Clear the password field by pressing backspace -> Update btn still disabled

这是js代码

.directive('equalsTo', function() {
return {
require: 'ngModel',
link: function(scope, elm, attrs, ctrl) {
var sc = scope;
scope.$watch(attrs.ngModel, function() {
var eqCtrl = scope.$eval(attrs.equalsTo);
if (ctrl.$viewValue===eqCtrl.$viewValue) {
ctrl.$setValidity('equalsTo', true);
eqCtrl.$setValidity('equalsTo', true);
} else {
ctrl.$setValidity('equalsTo', false);
eqCtrl.$setValidity('equalsTo', false);
}
});
}
};
});

最佳答案

删除密码后,您将空字符串与未定义的值进行比较:

ctrl.$viewValue===eqCtrl.$viewValue

您应该检查两个变量是否为空或未定义,然后表单有效:

if (ctrl.$viewValue===eqCtrl.$viewValue || (!!!ctrl.$viewValue && !!!eqCtrl.$viewValue)) {
ctrl.$setValidity('equalsTo', true);
eqCtrl.$setValidity('equalsTo', true);
} else {
ctrl.$setValidity('equalsTo', false);
eqCtrl.$setValidity('equalsTo', false);
}

http://plnkr.co/edit/QKOr2K7NXjOMGtnKdeWT?p=preview

关于javascript - 如何申请密码验证和验证密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23494943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com