LoudBit / the-thing-is

Now you can do complex validations with ease.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add greater error handling abilities

mrDarcyMurphy opened this issue · comments

The tool is very dumb so far, though it was originally intended to be multi-purpose so that you could provide a simple text message or a complex object when a validation fails.

var currently = [
  'present',
  { greaterThan: 0 }
]

var objectKey = [
  { present: 'Thing is required.'}
  { greaterThan: [0, 'Thing must be greater than zero.'] }
]

var arrayDescription = [
  [ 'present', 'Thing is required.' ],
  [ 'greaterThan', 0, 'Thing must be greater than zero.' ]
]

var objectDescription = [
  { is: 'present', orElse: 'Thing is required.' },
  { is: 'present', message: 'Thing is required.' },
  { is: 'greaterThan', what: 0, orElse: 'Thing must be greater than zero.' },
  { is: 'greaterThan', standard: 0, message: 'Thing must be greater than zero.' }
]

At the moment the errors are less than useless. They're inconsistent with themselves even. This needs to be remedied.

My latest idea is to return an error object that describes what went wrong so that the user of the module can construct their error message however they wish.

I've deliberately withheld from adding messaging to the-thing-is. It's better left to an additional module.