Skip to content

Commit

Permalink
Added validation to datalists
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed Jan 25, 2019
1 parent a8de8da commit cb0b202
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,10 @@
role="textbox"
[attr.aria-label]="schema.title | translate">
</auto-complete>
<small class="form-text text-danger" *ngIf="errorMessages && errorMessages.length && control.touched">
<ng-container *ngFor="let error of errorMessages; let first=first;">
<ng-container *ngIf="!first">, </ng-container>
<translate-i18n [key]="getError(error)">error</translate-i18n>
</ng-container>
</small>
</div>
5 changes: 5 additions & 0 deletions ui/src/app/schema-form/widget/datalist/datalist.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Component, AfterViewInit } from '@angular/core';

import { ControlWidget } from 'ngx-schema-form';
import { SchemaService } from '../../service/schema.service';
import { HARD_CODED_REQUIRED_MSG } from '../../model/messages';

@Component({
selector: 'datalist-component',
Expand All @@ -26,4 +27,8 @@ export class DatalistComponent extends ControlWidget implements AfterViewInit {
get required(): boolean {
return this.widgetService.isRequired(this.formProperty);
}

getError(error: string): string {
return HARD_CODED_REQUIRED_MSG.test(error) ? 'message.required' : error;
}
}
13 changes: 13 additions & 0 deletions ui/src/app/shared/autocomplete/autocomplete.component.scss
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
@import "~bootstrap/scss/functions";
@import "~bootstrap/scss/variables";
@import "../../../theme/palette";

.dropdown.form-group {
margin-bottom: 0px;
Expand All @@ -14,4 +15,16 @@
.btn-outline-secondary {
border-color: $input-border-color;
}

&.is-invalid {
input.form-control {
border-color: $brand-danger;
}
}

&.is-valid {
input.form-control {
border-color: $brand-success;
}
}
}

0 comments on commit cb0b202

Please sign in to comment.