我还是新学习Angular可以做的所有可怕的事情,我想看的一件事就是如果一组下拉列表选择了相同的项目,则抛出ng-invalid
。
例如,如果我有三个select
下拉,每个下拉项目:苹果,橙子,桃子。用户选择苹果下拉1和2,我如何使用角度来检测select
标签中的这个,并抛出ng-invalid
?
我正在使用的当前select
列表的示例如下。
<span>
<select ng-options="champ1.cID as champ1.cName for champ1 in Champions1 | orderBy: 'cName'" ng-init="0" ng-model="champ1">{{champ1.cName}}</select>
</span>
<span>
<select ng-options="champ2.cID as champ2.cName for champ2 in Champions2 | orderBy: 'cName'" ng-init="0" ng-model="champ2">{{champ2.cName}}</select>
</span>
<span>
<select ng-options="champ3.cID as champ3.cName for champ3 in Champions3 | orderBy: 'cName'" ng-init="0" ng-model="champ3">{{champ3.cName}}</select>
</span>
我会使用ng-if
之类的东西,或者某种ng-class
折腾吗?我很困惑在没有做某种指令或JQuery检查的情况下我在哪里/如何验证角度。
答案 0 :(得分:2)
您可以使用ui-validate进行自定义验证
<select ng-options="champ3.cID as champ3.cName for champ3 in Champions3 | orderBy: 'cName'"
ng-init="0" ng-model="champ3"
ui-validate="{'same' : 'champ1 == champ3 || champ2 == cmap3'}">
{{champ3.cName}}
</select>
但上面只回答了一个例子。使用ui验证更多自定义验证。请阅读ui-validate here。