2015-11-04 63 views
0

我在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

+0

您使用隔离范围并定义cpassword变量。你应该试试看: Errorpro

+0

好的,我会试试这个。 – Mandy

+0

这是行不通的。 – Mandy

回答

0

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

相关问题