0
角度フォーム検証を適用する2つのドロップダウンがあります。
<form name="newForm" data-ng-submit="save(newForm.$valid)" novalidate="novalidate">
<select ng-model="val.selectOne" name="selectOne" ng-change="setValidation(val.selectOne)" data-ng-class="{ 'error': newForm.selectOne.$dirty && newForm.selectOne.$invalid }" required="required">
<option>A</option>
<option>B</option>
<option>C</option>
<option>D</option>
<option>E</option>
</select>
<div data-ng-messages="newForm.selectOne.$error" data-ng-show="newForm.selectOne.$touched || newForm.$submitted">
<div class="error-message" data-ng-message="required">Please enter value</div>
</div>
<select ng-model="val.selectTwo" name="selectTwo" data-ng-class="{ 'error': newForm.selectTwo.$dirty && newForm.selectTwo.$invalid }" required="required">
<option>Val1</option>
<option>Val2</option>
<option>Val3</option>
</select>
<div data-ng-messages="newForm.selectTwo.$error" data-ng-show="newForm.selectTwo.$touched || newForm.$submitted">
<div class="error-message" data-ng-message="required">Please enter value</div>
</div>
<button type="submit">Save</button>
</form>
ユーザがオプションCとDを選択したときに、2番目のドロップダウンで保存時の検証をしたくない場合。私のディレクティブコードで : -
scope.setValidation = function (value){
if (value == "C" || value == "D") {
scope.newForm.selectTwo.$invalid = true;
scope.newForm.selectTwo.$touched = true;
scope.newForm.selectTwo.$dirty = true;
}
}
私は検証がCとDのための真述べて設定しようとしていますが、それが動作していません。誰も私にこれのための効率的な方法を教えてもらえますか?