<div class="form-group schema-form-{{form.type}} {{form.htmlClass}}"
     ng-class="{'has-error': form.disableErrorState !== true && hasError(), 'has-success': form.disableSuccessState !== true && hasSuccess(), 'has-feedback': form.feedback !== false }">
    <label class="control-label {{form.labelHtmlClass}}" ng-class="{'sr-only': !showTitle()}"
           for="{{form.key.slice(-1)[0]}}">{{form.title}}</label>

    <p class="input-group">
        <input ng-if="!form.fieldAddonLeft && !form.fieldAddonRight"
               ng-show="form.key"
               step="any"
               sf-changed="form"
               placeholder="{{form.placeholder}}"
               class="form-control {{form.fieldHtmlClass}} datepickerfield"
               id="{{form.key.slice(-1)[0]}}"
               ng-model-options="form.ngModelOptions"
               ng-model="dt"
               ng-disabled="form.readonly"
               schema-validate="form"
               name="{{form.key.slice(-1)[0]}}"
               aria-describedby="{{form.key.slice(-1)[0] + 'Status'}}"/>

        <span class="input-group-btn">
            <button type="button" class="btn btn-default">
                <i class="glyphicon glyphicon-calendar"></i>
            </button>
        </span>
    </p>

    <div ng-if="form.fieldAddonLeft || form.fieldAddonRight"
         ng-class="{'input-group': (form.fieldAddonLeft || form.fieldAddonRight)}">
    <span ng-if="form.fieldAddonLeft"
          class="input-group-addon"
          ng-bind-html="form.fieldAddonLeft"></span>
        <input ng-show="form.key"
               type="{{form.type}}"
               step="any"
               sf-changed="form"
               placeholder="{{form.placeholder}}"
               class="form-control {{form.fieldHtmlClass}}"
               id="{{form.key.slice(-1)[0]}}"
               ng-model-options="form.ngModelOptions"
               ng-model="$$value$$"
               ng-disabled="form.readonly"
               schema-validate="form"
               name="{{form.key.slice(-1)[0]}}"
               aria-describedby="{{form.key.slice(-1)[0] + 'Status'}}">

    <span ng-if="form.fieldAddonRight"
          class="input-group-addon"
          ng-bind-html="form.fieldAddonRight"></span>
    </div>

  <span ng-if="form.feedback !== false"
        class="form-control-feedback"
        ng-class="evalInScope(form.feedback) || {'glyphicon': true, 'glyphicon-ok': hasSuccess(), 'glyphicon-remove': hasError() }"
        aria-hidden="true"></span>

  <span ng-if="hasError() || hasSuccess()"
        id="{{form.key.slice(-1)[0] + 'Status'}}"
        class="sr-only">{{ hasSuccess() ? '(success)' : '(error)' }}</span>

    <div class="help-block" sf-message="form.description"></div>
</div>
