File tree Expand file tree Collapse file tree 3 files changed +35
-15
lines changed
src/core_modules/capture-core/utils/validation Expand file tree Collapse file tree 3 files changed +35
-15
lines changed Original file line number Diff line number Diff line change @@ -21,6 +21,7 @@ import {
2121 isValidDate ,
2222 isValidNonFutureDate ,
2323 isValidDateTime ,
24+ isValidMinCharactersToSearch ,
2425 getNumberRangeValidator ,
2526 getDateRangeValidator ,
2627 getDateTimeRangeValidator ,
@@ -257,27 +258,15 @@ function buildCompulsoryValidator(metaData: DataElement): Array<ValidatorContain
257258}
258259
259260function buildMinCharactersToSearchValidator ( metaData : DataElement ) : Array < ValidatorContainer > {
260- const { minCharactersToSearch, unique , optionSet } = metaData ;
261+ const { minCharactersToSearch } = metaData ;
261262
262- if ( minCharactersToSearch === undefined || minCharactersToSearch === 0 || unique || optionSet ) {
263+ if ( minCharactersToSearch === undefined || minCharactersToSearch === 0 ) {
263264 return [ ] ;
264265 }
265266
266267 return [
267268 {
268- validator : ( value ) => {
269- if ( value === undefined || typeof value !== 'string' ) {
270- return true ;
271- }
272-
273- const trimmedValue = value . trim ( ) ;
274-
275- if ( trimmedValue === '' ) {
276- return true ;
277- }
278-
279- return minCharactersToSearch <= trimmedValue . length ;
280- } ,
269+ validator : value => isValidMinCharactersToSearch ( value , minCharactersToSearch ) ,
281270 message : errorMessages . MIN_CHARACTERS_TO_SEARCH ( metaData ) ,
282271 errorMessage : errorMessages . MIN_CHARACTERS_TO_SEARCH ( metaData ) ,
283272 } ,
Original file line number Diff line number Diff line change @@ -8,3 +8,4 @@ export { getDateTimeRangeValidator } from './getDateTimeRangeValidator';
88export { getNumberRangeValidator } from './getNumberRangeValidator' ;
99export { getTimeRangeValidator } from './getTimeRangeValidator' ;
1010export { isValidNonFutureAge } from './isValidNonFutureAge' ;
11+ export { isValidMinCharactersToSearch } from './isValidMinCharactersToSearch' ;
Original file line number Diff line number Diff line change 1+ const isValueBiggerThanMinCharactersToSearch = ( value : string , minCharactersToSearch : number ) => {
2+ const trimmedValue = value . trim ( ) ;
3+ if ( trimmedValue === '' ) {
4+ return true ;
5+ }
6+ return minCharactersToSearch <= trimmedValue . length ;
7+ } ;
8+
9+ export const isValidMinCharactersToSearch = ( value : any , minCharactersToSearch : number ) => {
10+ if ( value === undefined ) {
11+ return true ;
12+ }
13+
14+ if ( typeof value == 'string' ) {
15+ return isValueBiggerThanMinCharactersToSearch ( value , minCharactersToSearch ) ;
16+ }
17+
18+ if ( 'from' in value && 'to' in value ) {
19+ return (
20+ isValueBiggerThanMinCharactersToSearch ( value . from , minCharactersToSearch ) &&
21+ isValueBiggerThanMinCharactersToSearch ( value . to , minCharactersToSearch )
22+ ) ;
23+ }
24+
25+ if ( 'date' in value ) {
26+ return isValueBiggerThanMinCharactersToSearch ( value . date , minCharactersToSearch ) ;
27+ }
28+
29+ return true ;
30+ } ;
You can’t perform that action at this time.
0 commit comments