我想知道如何使用差角度验证来检查唯一性的值,而无需添加指令和插件。
例如,假设我在范围内有一个数组:
$scope.colors = ['red', 'green', 'black', 'grey'];
我想检查那里输入的值是否不存在。
这是一个输入
<input name="color" type="text" ng-minlength="3" ng-model="selectedColor" required=""/>
我知道angular提供了一些很好的指令,例如 ng-minlength 或 ng-pattern ,但也许我会以某种方式从控制器调用一个函数可以检查唯一性的值吗?
提前致谢!
答案 0 :(得分:0)
你可以这样做:
<input name="color" ng-change="checkUnique()" type="text" ng-minlength="3" ng-model="selectedColor" required=""/>
和
$scope.colors = ['red', 'green', 'black', 'grey'];
$scope.checkUnique = function(){
if($scope.colors.indexOf($scope.selectedColor) != -1){
console.log($scope.colors.indexOf('black')); // it means it is already present in the array
}
}
希望有所帮助
答案 1 :(得分:0)
您可以使用ng-pattern并根据需要替换模式
<input type="text" ng-minlength="3" ng-pattern="'('+colors.join(')|(')+')'" ng-model="selectedColor" required=""/>