2017-07-19 106 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

這就是我正在尋找的。像魅力一樣工作..非常感謝。 –