Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

u1502073/validator

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

validator

First

see https://github.com/skaterdav85/validatorjs

Usage

npm i git://github.com/potentia-inc/validator.git#v1.2.x
const validator = require('validator')
const S = require('sanctuary')

const rule = { foo: 'required|string|between:3,10' }

validator (rule) ({ foo: 'abc' })  // => Right ({ foo: 'abc' })
validator (rule) ({ foo: 'a' })  // => Left ('...failure message.')

const v = validator(rule)(obj)
if (S.isLeft(v)) { console.error(v.value) /* validation failed */ }
if (S.isRight(v)) { console.log('passed!', v.value) /* validation passed */ }

Signature For The Main Validator Function

// validator :: Rule -> Object -> S.Either String Object
  • Rule is an alias type for ordinary object.
  • Object is the type for input object.
  • When the validation is passed, the output will be a Either Right with value the same as input object.
  • When the validation is failed, the output will be a Either Left with value a string with informative failure reason.

Rules For Crypto-addresses

  • Bitcoin: rule = { address: `required|string|bitcoinAddress:${network}` } // network: 'mainnet' | 'testnet'
  • Etherem: rule = { address: `required|string|ethereumAddress:${check}` } // check: 'checked' | 'unchecked'
  • Ripple: rule = { address: `required|string|rippleAddress` }

Rules For Crypto-address-tags

  • Ripple Tag: rule = { tag: 'string|rippleTag' }
  • EOS Memo: rule = { tag: 'string|eosMemo' }

Misc. Rules

  • Decimal Place: rule = { amount: 'required|string|numeric|decimal:5' }

    • { amount: '0.0001' } // passed
    • { amount: '0.00001' } // passed
    • { amount: '0.000010000' } // passed
    • { amount: '0.000001' } // failed
  • Positivity: rule = { amount: 'required|string|numeric|positive' }

    • { amount: '0.0001' } // passed
    • { amount: '+0.0001' } // passed
    • { amount: '-0.00001' } // failed
  • Printable: rule = { client_id: 'required|string|isprint' }

    • { client_id: 'alice' } // passed
    • { client_id: '_bob' } // passed
    • { client_id: '!carol ' } // passed
    • { client_id: "dave\x01" } // failed

Note

It is recommended to add a string requirement to all rules when validating addresses, tags, amounts.

About

A Simple Validatorjs Wrapper

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.