如何将一个或多个字段值传递给另一个字段自定义指令

时间:2015-11-04 06:25:30

标签: javascript angularjs

我在Internet上搜索,如何将一个字段值传递给另一个字段自定义指令。但我没有成功。这是代码:

module.directive("confirmPassword", function(){
    return {        
        restrict: 'A',
        require: '?ngModel',
        scope: {
          cpassword: '=confirmPassword'
        },
        link: function(scope, element, attrs,ctrl){ 
          if(!ctrl) return;

          console.log(scope.cpassword);
          ctrl.$validators.confirmPasswd = function(modelValue, viewValue) {
            var value = modelValue || viewValue;
            console.log(attrs.confirmPassword);
            console.log(value);
              if(angular.isDefined(value)){
                  if(scope.cpassword.test(value)) {
                      scope.confirmStrength = 'valid';
                      ctrl.$setValidity("confirmInvalid",true);
                      return true;
                  } else {
                      scope.confirmStrength = 'invalid';
                      ctrl.$setValidity("confirmInvalid",false);
                      return false;
                  }
              }
              return false;
          }
        }
    };
});

并在我将此自定义指令应用于字段,如:

<input type="password" confirm-password="registerData.password" ng-model="registerData.confirmPassword">

但我没有得到欲望输出。我在这里缺少的东西。请帮帮我一个人。我正在使用angularJs 1.4版本。

请找Plunker

1 个答案:

答案 0 :(得分:0)

感谢每一位努力。我找到了解决方案。由于该值未传递给确认密码指令,我的一个指令创建问题。