2015-08-18 47 views
1

我是AngularJS的新手,仍在学习。自定义指令,需要一些条件之前踢入所需的领域

我想创建一个自定义指令,我想有一些条件,需要一些条件之前,自定义必需的踢球。例如复选框被打勾。以下是我的示例指令和HTML。非常感谢您的回复。请让我知道你是否仍然需要一些信息。

.directive('customrequired', function() { 
    return { 
     require: '?ngModel', 
     link: function (scope, elm, attr, ctrl) { 
      if (!ctrl) return; 

      //conditional approach like, requires checkbox to be checked.? 

     } 
    }; 
}) 

HTML

<input type="text" ng-model="Create.ProductName" name="ProductName" customrequired="Create.IsRequired == 1"/> 
<input type="checbox" ng-model="Create.IsRequired" name="Required" /> 
+1

如果它只是简单的条件,如复选框,那么它使用ngRequired指令是有意义的。 – dfsq

+0

你介意解释一下情况吗? –

+0

@PankajParkar,条件是。如果复选框被选中,它将在您提交表单或焦点不足时触发验证。 – Chris

回答

0

你可以做把你的指导价值的手表,并把你的逻辑,只有当它的真实。

.directive('customrequired', function() { 
    return { 
     require: '?ngModel', 
     link: function (scope, elm, attr, ctrl) { 

       scope.$watch(attr.customrequired,function(value){ 
       if(value){ 
       //conditional approach like, requires checkbox to be checked.? 
       } 
      }) 

     } 
    }; 
}) 
+0

嗨@sjjt,你能否给我一个关于条件区域的例子逻辑?不知道在 – Chris

+0

里面if语句你可以将事件监听器附加到onblur的元素上,然后在那里执行你的验证。如果值不是true,则删除侦听器。 – srjt