以角度1.2.16验证嵌套指令

时间:2014-07-01 18:47:09

标签: javascript jquery angularjs validation angular-ngmodel

背景:

假设我想要一个编辑和验证文本的指令。为简单起见,我们将考虑单位值。所以我创建了一个绑定到模型中的值的指令。

在这个简单的例子中,如果输入的格式不是[NUMBER] [IDENTIFIER],或者任何子指令的值验证为false,则该指令验证为false。

每当文本更改时,指令将其拆分为两个变量。该指令的模板有两个子指令,一个用于两个变量。每个子指令都通过ng-model绑定。每个子指令在输入更改时验证每个值。例如,如果[IDENTIFIER]子指令需要'px'或'in',则它会对任何其他值验证false。如果两个子指令中的任何一个验证为false,则main指令也验证为false。

我希望采用这种方法来设计基于ng模型的编辑器,以获得更复杂的文本模式,同时利用ng-model中现有的验证机制。

问题:

您是否可以阅读指令子项的有效性,以确定该模型是否有效?

如果ng-model采用对象而不是字符串,那么当模型发生任何变化时,是否可以触发验证?

1 个答案:

答案 0 :(得分:0)

我通过说我是一个有角度的新人来证​​明这些答案......

第一个问题。 是的我认为如果你有一个指令,它会在验证链中添加一个验证器,那么就没有理由让它无法走动它的孩子并检查它们的有效性。父母可能必须有一个隐藏的输入来附加ngModelController,然后检查可见的孩子。

第二个问题。 当然。模型包含的内容无关紧要。如果模型内容发生更改,将运行验证。