tcomb-validator-plus
Advanced validation helpers for tcomb-validation
Features
- Used validator.js for strings
- Custom error messages
- Context binding
- Compile from simple schema
Extending rules
{ return message context } const validate = const password = const schema = const compiledSchema = const data = password: '12' const errors = errors: password: context: actual: '12' val: 3 message: 'isLengthMin' isError: true params: password: '12' const obj = dataassertconst obj2 = dataassert
Simple usage
// simple-1.js { return message context } const validate = const myValidate = const data = confirmed: false password: '1234' confirmPassword: '1235' user: '' opts: 'opt1' 'opt3' const errors = errors: confirmed: message: 'check confirm' context: actual: false user: message: 'user required' context: actual: '' path: 'user' opts: message: '#{actual} is not a one of #{val}' context: val: 'opt1, opt2' actual: 'opt3' isError: true params: confirmed: false password: '1234' confirmPassword: '1235' user: '' opts: 'opt1' 'opt3' const obj1 = assert const data2 = confirmed: true password: '1234' confirmPassword: '1235' user: 'test' opts: 'opt1' 'opt2' const errors = errors: __: context: from: 'password' to: 'confirmPassword' actual: confirmed: true password: '1234' confirmPassword: '1235' user: 'test' opts: 'opt1' 'opt2' message: 'Passwords are not equal' isError: true confirmed: true password: '1234' confirmPassword: '1235' user: 'test' opts: 'opt1' 'opt2' const obj2 = assert
Promise usage
{ return message context } const validate = const myValidate = const data = confirmed: false password: '1234' confirmPassword: '1235' user: '' opts: 'opt1' 'opt3' const errors = errors: confirmed: message: 'check confirm' context: actual: false user: message: 'user required' context: actual: '' path: 'user' opts: message: '#{actual} is not a one of #{val}' context: val: 'opt1, opt2' actual: 'opt3' isError: true params: confirmed: false password: '1234' confirmPassword: '1235' user: '' opts: 'opt1' 'opt3'