Skip to content
This repository has been archived by the owner on Dec 27, 2022. It is now read-only.

Commit

Permalink
fix: fix validation when field is not required (#554)
Browse files Browse the repository at this point in the history
  • Loading branch information
baptisteArno authored Oct 26, 2022
1 parent 65d4f87 commit 3e16428
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 10 deletions.
2 changes: 1 addition & 1 deletion src/validators/max.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ValidatorFn } from './types'

const maxValidator: ValidatorFn<number> = max => ({
error: 'TOO_HIGH',
validate: value => Number(value) <= max,
validate: value => value === undefined || Number(value) <= max,
})

export default maxValidator
2 changes: 1 addition & 1 deletion src/validators/maxDate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ValidatorFn } from './types'

const maxDateValidator: ValidatorFn<Date, Date> = maxDate => ({
error: 'MAX_DATE',
validate: value => value <= maxDate,
validate: value => value === undefined || value <= maxDate,
})

export default maxDateValidator
2 changes: 1 addition & 1 deletion src/validators/maxLength.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ValidatorFn } from './types'

const maxLengthValidator: ValidatorFn<string, number> = maxLength => ({
error: 'MAX_LENGTH',
validate: value => (value?.length ?? 0) <= maxLength,
validate: value => value === undefined || value.length <= maxLength,
})

export default maxLengthValidator
2 changes: 1 addition & 1 deletion src/validators/min.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ValidatorFn } from './types'

const minValidator: ValidatorFn<number> = min => ({
error: 'TOO_LOW',
validate: value => Number(value) >= min,
validate: value => value === undefined || Number(value) >= min,
})

export default minValidator
2 changes: 1 addition & 1 deletion src/validators/minDate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ValidatorFn } from './types'

const minDateValidator: ValidatorFn<Date, Date> = minDate => ({
error: 'MIN_DATE',
validate: value => value >= minDate,
validate: value => value === undefined || value >= minDate,
})

export default minDateValidator
2 changes: 1 addition & 1 deletion src/validators/minLength.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ValidatorFn } from './types'

const minLengthValidator: ValidatorFn<string, number> = minLength => ({
error: 'MIN_LENGTH',
validate: value => (value?.length ?? 0) >= minLength,
validate: value => value === undefined || value.length >= minLength,
})

export default minLengthValidator
10 changes: 6 additions & 4 deletions src/validators/regex.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ import { ValidatorFn } from './types'
const validator: ValidatorFn<string, (RegExp | RegExp[])[]> = regexes => ({
error: 'REGEX',
validate: value =>
regexes.every(regex =>
Array.isArray(regex)
? regex.some(regexOr => regexOr.test(value))
: regex.test(value),
regexes.every(
regex =>
value === undefined ||
(Array.isArray(regex)
? regex.some(regexOr => regexOr.test(value))
: regex.test(value)),
),
})

Expand Down

0 comments on commit 3e16428

Please sign in to comment.