基于数组验证输入

时间:2015-10-21 12:54:21

标签: javascript angularjs

我需要验证输入,以便它不包含也出现在给定字符串数组中的字符串。

要使用一个简单的示例来解释它,当我输入城镇城市房屋时,验证应该会失败。如果有任何其他字符串,则应该通过。

<input type="text" ng-not-in="r.arr" ...

r.arr = ["town", "city", "house"]

我知道使用$ watch,编写我自己的指令或ng-pattern的可能性(嗯,对于这种情况,它不适合)但是,是否有内置的东西可以做到这一点?如果没有,我应该选择哪种方法,哪种方法最“干净”?

由于

1 个答案:

答案 0 :(得分:1)

您可以使用ui-validate from Angular UI。这样你就不必每次都写一个自己的指令,只需使用一个表达式(见JSfiddle):

    <input type="text" ng-model="mod.text" ui-validate="'list.indexOf($value)==-1'">