<div>

<div class="form-group">
  <input required class="form-control" type="text" name="paramName"
          placeholder="Parameter Name (hit space bar to see the options, and choose one)"
          ng-model="parameter.key"
          typeahead-min-length="0" typeahead-editable="false"
          uib-typeahead="param for param in getOptionalParameters() | filter:$viewValue"
         ng-class="{ 'is-invalid' : paramForm.paramName.$invalid }">
  <p ng-show="paramForm.paramName.$invalid" class="invalid-feedback">Parameter name is required.</p>
</div>
<div class="form-group">
  <div class="input-group">
    <input class="form-control" type="text" name="paramValue" placeholder="Parameter Value" ng-model="parameter.value" required
           ng-class="{ 'is-invalid' : paramForm.paramValue.$invalid }">
    <span class="input-group-append">
      <button type="button" class="btn btn-secondary" ng-click="removeParameter($index)">
        <span class="fas fa-trash-can"></span>
      </button>
    </span>
    <p ng-show="paramForm.paramValue.$invalid" class="invalid-feedback">Parameter value is required.</p>
  </div>
</div>

</div>
