2017-07-19 74 views
-2

您好我正在使用angularjs开发web应用程序。我正在尝试对下拉进行验证,如下所示。Angularjs条件验证为必需的字段验证

<div ng-if="rankrequired"> 
<span class="ang-error" style="color:#fff" ng-show="form3.rank.$invalid && form3.rank.$error.required && form3.rank.$dirty">*{{'Required' | translate}}</span> 
    </div> 
    <select id="rank" name="rank" ng-model="user.rank" ng-options="user.ID as user.Rank for user in rankList"> 
    <option value="" label="rank">{{ 'Rank' | translate }}</option> 
    </select> 

每当我让$scope.rankrequired = true;以上验证应该工作。 每当我做$scope.rankrequired = false;验证不应该在那里。我正在尝试从控制器分配值$scope.rankrequired true或false。但是,上面的代码不起作用。我是否可以知道是否有更好的方法来实现这一目标?任何帮助,将不胜感激。谢谢。

+1

没有验证选择,它只是为消息。你添加了'required'属性来选择吗? – Sajal

+0

那么实际问题是什么,验证错误或选择选项?它是否打算在ng-if块之外进行选择? – rachmatsasongko

回答

0

您需要在select上定义ng-required以验证是否可以应用。例如:

<div ng-if="rankrequired"> 
<span class="ang-error" style="color:#fff" ng-show="form3.rank.$invalid && form3.rank.$error.required && form3.rank.$dirty">*{{'Required' | translate}}</span> 
    </div> 
    <select id="rank" name="rank" ng-model="user.rank" ng-required="rankrequired" 
    ng-options="user.ID as user.Rank for user in rankList"> 
    <option value="" label="rank">{{ 'Rank' | translate }}</option> 
    </select> 
+0

这就是我正在寻找的。像魅力一样工作..非常感谢。 –