diff --git a/lib/content-services/search/components/search-number-range/search-number-range.component.spec.ts b/lib/content-services/search/components/search-number-range/search-number-range.component.spec.ts index e1fa4bf996..11e3fda0b9 100644 --- a/lib/content-services/search/components/search-number-range/search-number-range.component.spec.ts +++ b/lib/content-services/search/components/search-number-range/search-number-range.component.spec.ts @@ -16,6 +16,7 @@ */ import { SearchNumberRangeComponent } from './search-number-range.component'; +import { FormControl, FormGroup } from '@angular/forms'; describe('SearchNumberRangeComponent', () => { @@ -124,4 +125,15 @@ describe('SearchNumberRangeComponent', () => { expect(context.queryFragments['range1']).toEqual('cm:content.size:<0 TO 100>'); }); + it('should return true if TO value is bigger than FROM value', () => { + component.ngOnInit(); + component.from = new FormControl('10'); + component.to = new FormControl('20'); + component.form = new FormGroup({ + from: component.from, + to: component.to + }, component.formValidator); + + expect(component.formValidator).toBeTruthy(); + }); }); diff --git a/lib/content-services/search/components/search-number-range/search-number-range.component.ts b/lib/content-services/search/components/search-number-range/search-number-range.component.ts index c997e76105..db2decb212 100644 --- a/lib/content-services/search/components/search-number-range/search-number-range.component.ts +++ b/lib/content-services/search/components/search-number-range/search-number-range.component.ts @@ -62,7 +62,11 @@ export class SearchNumberRangeComponent implements SearchWidget, OnInit { this.form = new FormGroup({ from: this.from, to: this.to - }); + }, this.formValidator); + } + + formValidator(formGroup: FormGroup) { + return parseInt(formGroup.get('from').value, 10) < parseInt(formGroup.get('to').value, 10) ? null : {'mismatch': true}; } apply(model: { from: string, to: string }, isValid: boolean) {