警告重复输入的用户

时间:2015-02-02 17:12:18

标签: angularjs angularjs-directive angularjs-ng-repeat

我试图警告用户输入重复的条目。 输入由与ng-repeat相关联的模型构成。用户可以使用添加按钮添加输入框,并使用每个输入上的按钮删除它们。

  <div ng-form="inputForm" ng-repeat="system in form.systems">
    <input name="systemNameInput"
        index="{{$index}}"
        required
        system-check
   ng-model="system.systemName"></input>
    <button ng-click="removeSystemName($index)">Delete</button>

    </div><!-- End of ngRepeat -->

我使用两个模型,一个是form.systems,另一个是user.systems。另一个指令(不包括在内,使用$ asycValidators)启动对后端的rest调用,以验证系统是否存在(只是或多或少的ping),它返回一个被添加到user.systems的对象,因此只有表单持有form.systems。[index] .systemName。

我正在研究一个带有form.systems的systemCheck指令,找出是否存在重复并相应地验证from(使用$ validators)。

这有效,但有一些错误。由于我的user.systems对象由后端更新,因此在指令运行时不会填充它(因为$ validators总是在$ asycValidators之前运行)。此外,我的form.systems模式一旦你开始输入就变空(因为它击中$ asycValidator并变为无效,这是正确的)。

那么,我可以用什么对象来判断是否有重复?我需要在输入后立即查看ngRepeat创建的每个输入框中的内容,以便我可以解析它们并查找副本。

我做了一个快速的jsFiddle,虽然我的$ validator由于某种原因没有在它上面工作,它应该很好地了解我在本地的内容。

http://jsfiddle.net/freethe2dme/yu675pkc/10/

0 个答案:

没有答案