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

selectではメッセージのみの検証はありません。選択するために 'required'属性を追加しましたか? – Sajal

+0

実際の問題、検証エラー、または選択オプションは何ですか?そして、それはng-ifブロックの外側で選択を行うことを意図していますか? – rachmatsasongko

答えて

0

selectに定義して検証を適用する必要があります。次のようなものがあります。

<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

これは私が探しているものです。チャームのように働く..ありがとう。 –