<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label number-widget"
     [class.number-widget__invalid]="!field.isValid">
    <input class="mdl-textfield__input"
           type="text"
           pattern="-?[0-9]*(\.[0-9]+)?"
           [attr.id]="field.id"
           [attr.required]="isRequired()"
           [(ngModel)]="field.value"
           (ngModelChange)="checkVisibility(field)"
           [disabled]="field.readOnly">
    <label class="mdl-textfield__label" [attr.for]="field.id">{{field.name}}</label>
    <span *ngIf="field.validationSummary" class="mdl-textfield__error">{{field.validationSummary}}</span>
</div>
