2016-12-15 12 views
2

私は選択オプションを持つフォームを持っています。値がyesの場合はdivを表示します。私は私のフォームを検証するときは表示されません。エラー管理ng-if角度

<div class="row"> 
    <div class="col-md-6"> 
     <div class="form-group" ng-class="{ 'has-error': invalid.backendIntegrationUrl, 'has-success': valid.backendIntegrationUrl}"> 
      <label for="backendIntegrationUrl">backend service URL *</label> 
      <input type="text" name="backendIntegrationUrl" class="form-control" placeholder="example: https://qualif.myapi.com/myapi/v1 " ng-model="api.backendIntegrationUrl" ng-required="true"> 
      <span id="helpBlock" class="help-block" ng-show="help.backendIntegrationUrl.required">backend service URL is required.</span>    
     </div> 
    </div> 
    <div class="col-md-6"> 
     <div class="form-group" id="basicAuth"> 
      <label for="basicAuth">basic auth info</label> 
      <select name="basicAuth" class="form-control" ng-init="api.basicAuth = api.basicAuth || 'no'" ng-model="api.basicAuth" id="basicAuth" > 
       <option value="no">no</option> 
       <option value="yes">yes</option> 
      </select> 
     </div>        
    </div> 
</div> 

<div class="row" ng-if="api.basicAuth == 'yes'" id="yesAuth"> 
     <div class="col-md-6" ng-class="{ 'has-error': invalid.basicAuthForBackendUsername, 'has-success': valid.basicAuthForBackendUsername}"> 
      <div class="form-group" > 
       <label for="basicAuthForBackendUsername">basic auth username *</label> 
       <input type="text" id="basicAuthForBackendUsername" name="basicAuthForBackendUsername" class="form-control" placeholder="basic auth username" ng-model="api.basicAuthForBackendUsername" ng-required="api.basicAuth =='yes'"> 
       <span id="helpBlock" class="help-block" ng-show="help.basicAuthForBackendUsername.required">basic auth username is required.</span>  
      </div>         
     </div> 
     <div class="col-md-6" ng-class="{ 'has-error': invalid.basicAuthForBackendPassword, 'has-success': valid.basicAuthForBackendPassword}"> 
      <div class="form-group" > 
       <label for="basicAuthForBackendPassword">basic auth password *</label> 
       <input type="text" id="basicAuthForBackendPassword" name="basicAuthForBackendPassword" class="form-control" placeholder="basic auth password" ng-model="api.basicAuthForBackendPassword" ng-required="api.basicAuth =='yes'"> 
       <span id="helpBlock" class="help-block" ng-show="help.basicAuthForBackendPassword.required">basic auth password is required.</span>  
      </div>         
     </div> 
</div> 

私はそのようなフォームの検証か検証機能があります。それが有効に同じだ

$scope.help = {}; 
$scope.invalid = {}; 
$scope.invalid.version = $scope.userForm.version.$invalid; 

を。

私の問題を解決して、値なしで表示する方法はありますか?

どうもありがとう

答えて

0

api.basicAuth1が定義されていないか確認してください?

コントローラにグローバルにapi.basicAuthと宣言する必要があります。私は私がしなければならない何をすべきか理解していない

function controllername($scope) 
{ 
$scope.api = { basicAuth: "Yes" } 
    . 
    . 
    . 
    . 
    // other codes 
    . 
    . 
    . 
    . 
} 
+0

...:

サンプルは次のようになります – JackR