2013-07-16 75 views
2

我試圖在模型上添加多個驗證指令,但它不工作。他們單獨工作,但一起工作。angularjs模型上的多個驗證器

我有一個輸入的指令來驗證可以輸入它的最小值和最大值。

<input type="text" min-val="2" max-val="5" ng-model="age" /> 

這裏是pluker鏈接

謝謝!

回答

3

幾乎在那裏。在裏面你正在打電話給你validator功能匿名函數

modelCtrl.$formatters.push(function(value) { 
    validator(value); 
}); 

,但你沒有返回結果:

您通過一個匿名函數$解析器和$格式化陣列。

爲了補救,返回函數的結果爲:

modelCtrl.$formatters.push(function(value) { 
    return validator(value); 
}); 

modelCtrl.$parsers.push(function(value) { 
    return validator(value); 
}); 

要簡化你的代碼,你可能想直接使用功能名稱作爲一個變量引用(無需匿名函數):

modelCtrl.$formatters.push(validator); 
modelCtrl.$parsers.push(validator); 

PLUNKER

+0

謝謝!完美的作品!我認爲附加的運動員有正確的代碼。 – SamSerious