1.0.0-rc.1 • Published 1 year ago

simple-valley v1.0.0-rc.1

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Simple Validations for objects

List of validations

validateRequired

Validates that the object contains the required key. Says nothing about the value of the key(currently).

  let validator = newValidator({title: undefined })
  validator = validateRequired(validator, 'title')
  validator.isValid // true

  let validator = newValidator({})
  validator = validateRequired(validator, 'title')
  validator.isValid // false
  validator.messages[0] // { field: 'title', type: 'required', message: 'title required' }

validateNotBlank

Validates that the field contains a non-whitespace string. Numbers return valid. Null's return invalid.

let validator = newValidator({title: 'hello' })
validator = validateNotBlank(validator, 'title')
validator.isValid // true

let validator = newValidator({title: '' })
validator = validateNotBlank(validator, 'title')
validator.isValid // false
validator.messages[0] // { field: 'title', type: 'blank', message: 'title blank' }

validateEmail

Validates using a simplistic non-complete check for email.

let validator = newValidator({email: 'gregors@example.com' })
validator = validateEmail(validator, 'email')
validator.isValid // true

let validator = newValidator({email: 'gregors' })
validator = validateEmail(validator, 'email')
validator.isValid // false
validator.messages[0] // { field: 'title', type: 'invalid_email', message: 'invalid email' }

validateNumber

Validates the field is a number with options for min and max values.

let validator = newValidator({age: 7 })
validator = validateNumber(validator, 'age', {min: 4, max: 7})
validator.isValid // true

let validator = newValidator({age: 8 })
validator = validateNumber(validator, 'age', {min: 4, max: 7})
validator.isValid // false
validator.messages[0] // { field: 'title', type: 'number_max', message: 'age too large' }

validateInclusion

Validates the field's value is one of the provided choices.

let validator = newValidator({title: 'EMPLOYEE' })
validator = validateInclusion(validator, 'title', { choices: ['EMPLOYEE', 'MANAGER']})
validator.isValid // true

let validator = newValidator({title: 'CONTRACTOR' })
validator = validateInclusion(validator, 'title', { choices: ['EMPLOYEE', 'MANAGER']})
validator.isValid // false
validator.messages[0] // { field: 'title', type: 'inclusiont', message: 'CONTRACTOR is not a choice' }

validateUrl

Validates that the field contains a valid URL.

let validator = newValidator({url: 'https://github.com/gregors' })
validator = validateUrl(validator, 'url')
validator.isValid // true

let validator = newValidator({url: 'https/github.com/gregors' })
validator = validateUrl(validator, 'url')
validator.isValid // false
validator.messages[0] // { field: 'url', type: 'invalid_url', message: 'invalid url' }

validateLength

Validates the field by calling the '.length' method and comparing it with the provided min and max options.

let validator = newValidator({name: 'gregors' })
validator = validateLength(validator, 'name', {min: 4, max: 20})
validator.isValid // true

let validator = newValidator({scores: ['0', '100', '50'] })
validator = validateLength(validator, 'scores', {min: 4})
validator.isValid // false
validator.messages[0] // { field: 'scores', type: 'length_min', message: 'scores not min length ' }

validateFormat

Validates the field by comparing the field with the regular expression provided as part of the withFormat option.

let validator = newValidator({name: 'gregors' })
validator = validateFormat(validator, 'name', {withFormat: /[a-z]+/})
validator.isValid // true

let validator = newValidator({name: 'GREGORS' })
validator = validateFormat(validator, 'name', {withFormat: /[a-z]+/})
validator.isValid // false
validator.messages[0] // { field: 'name', type: 'invalid_format', message: 'name is invalid' }

https://stackoverflow.com/questions/57915921/how-do-i-get-jest-to-to-work-with-es6-dependencies

0.17.0-rc.1

1 year ago

0.17.0-rc.0

1 year ago

1.0.0-rc.1

1 year ago

0.10.0

2 years ago

0.11.0

2 years ago

0.12.0

2 years ago

0.13.0

2 years ago

0.12.1

2 years ago

0.14.0

2 years ago

0.15.0

2 years ago

0.16.0

2 years ago

0.9.0

3 years ago

0.8.0

3 years ago

0.7.1

3 years ago

0.7.0

3 years ago

0.5.0

3 years ago

0.6.0

3 years ago

0.4.2

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago

0.0.1

3 years ago