
我有一個保存按鈕,只有在提供所有表單資料并且表單有效時才啟用。我不明白為什么沒有選擇帶寬選項并且表格變得有效。myForm.$valid過渡到真......它應該保持原樣false
<button id="save-create-account-modal" type="submit" class="btn btn-success"
ng-disabled="!myForm.$valid || $ctrl.disableButton" ng-click="$ctrl.accessPointSave($ctrl.accessPoint)">
Save
</button>
帶寬選擇選單
<div class="col-xs-3">
<div class="form-group" ng-class="{ 'has-error': myForm.uplink.$touched && myForm.uplink.$invalid }">
<label for="uplink" class="required">
<translate>GENERAL.UPLINK.value</translate>
</label>
<select id="edit-service-plan-uplink-select" class="form-control" name="uplink"
ng-model="$ctrl.accessPoint.uplink"
ng-options="bandwidth.value as bandwidth.option for bandwidth in $ctrl.uplinks" required>
</select>
</div>
<span class="message error" ng-messages="myForm.uplink.$error" ng-if="myForm.uplink.$touched">
<p ng-message="required">
<translate>GENERAL.FORM_VALIDATIONS.REQUIRED_FIELD.value</translate>
</p>
</span>
</div>
<div class="col-xs-3">
<div class="form-group"
ng-class="{ 'has-error': myForm.downlink.$touched && myForm.downlink.$invalid }">
<label for="downlink" class="required">
<translate>GENERAL.DOWNLINK.value</translate>
</label>
<select id="edit-service-plan-downlink-select" class="form-control" name="downlink"
ng-model="$ctrl.accessPoint.downlink"
ng-options="bandwidth.value as bandwidth.option for bandwidth in $ctrl.downlinks" required>
</select>
</div>
<span class="message error" ng-messages="myForm.downlink.$error" ng-if="myForm.downlink.$touched">
<p ng-message="required">
<translate>GENERAL.FORM_VALIDATIONS.REQUIRED_FIELD.value</translate>
</p>
</span>
</div>
如何進一步除錯?
更新
我還嘗試required在與我的<select>標簽相同的行中添加
仍然沒有按預期作業
uj5u.com熱心網友回復:
請包括 $dirty 支票以及 $valid。
($scope.form[field].$dirty && $scope.form[field].$valid){
//your code
}
您也可以嘗試 ng-required。
uj5u.com熱心網友回復:
例如,當 select 中的值不是一個 from 選項時,就會發生這種情況。
如果你想除錯 - 需要的驗證器在這里:https : //github.com/angular/angular.js/blob/master/src/ng/directive/validators.js
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/330637.html
