1.0.1 • Published 8 years ago

mileyy-validate v1.0.1

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

mileyy-validate

A simple form validator for run with any javascript runtime, node/JSCore/browser, etc.

Install

# install npm package
npm i --save mileyy-validate

# install typings
typings install npm:mileyy-validate/.d.ts/mileyy-validate.d.ts

Usage

  • general

v.validate(validateors, data) will return true if all validators passed, else return a error map

import * as v from 'mileyy-validate'
v.validate({
  name: [v.required('name')],
  password: [v.required('password'), v.length('password', 8)],
  passwordRepeat: [v.repeat('password')],
}, {
  name: 'name',
  password: ['1234567'],
  passwordRepeat: ['12345678'],
})
// => {name: [], password: ['password should have 8 chars at lest''], passwordRepeat: ['password repeat error']}
v.validate({name: [v.required('name')]}, {name: 'a'}) // => true
  • builtin validators

    • required(alias): must be true value
    • pattern(alias, patternStringOrRexExp, options?): validate pattern
    • url(alias): url
    • email(alias): email
    • length(alias, min?, max?): length
    • repeat(alias, field): equals to another field
    • enumerable(alias, enumArr): in enumArr
  • register custom validator

import {register, notEmpty, exec, use} from 'mileyy-validate'
const phone = register('phone', (value) => !notEmpty(value) || /^1[34578]\d{9}$/.test(value), 'invalid phone number')
// use returned use function
exec(phone('phone number'), '1456734283')
// use basic
exec(use('phone', 'phone number'), 161234123)
  • i18n
import {i18n, setLang} from 'mileyy-validate'
// set languange
setLang('zh-CN')
// invoke builtin languange package
require('mileyy-validate/lib/i18n/zh-CN')
// extend error message
i18n('zh-CN', {phone: '无效的手机号'})

API

See mileyy-validate.d.ts

License

MIT

1.0.1

8 years ago

1.0.0

8 years ago