https://github.com/fantasywind/chainable-validator
Chainable Object Types Validator
https://github.com/fantasywind/chainable-validator
Last synced: about 1 year ago
JSON representation
Chainable Object Types Validator
- Host: GitHub
- URL: https://github.com/fantasywind/chainable-validator
- Owner: fantasywind
- License: mit
- Created: 2016-06-02T09:51:16.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2016-06-04T06:40:07.000Z (about 10 years ago)
- Last Synced: 2025-02-05T04:09:38.807Z (over 1 year ago)
- Language: JavaScript
- Size: 11.7 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# chain-validator
Chainable Object Types Validator
## Usage
```javascript
// ES6
import ChainableValidator, {
Types as T,
} from 'chainable-validator';
const validator = new ChainableValidator({
name: T.string.maxLen(10).minLen(4).isRequired,
age: T.integer.len(2).isRequired,
birthday: T.date,
callback: T.function,
info: T.object,
liked: T.array,
test: T.regex,
brand: T.symbol,
latitude: T.float.decimal(5).greedy,
longitude: T.double.decimal(5), // alias of float
});
const data = {
name: 'Chia Yu Pai',
age: 26,
birthday: new Date('1990/02/08'),
info: {
bio: 'hello world',
},
liked: [
'apple',
'linux',
],
test: /t/i,
brand: Symbol('Apple Inc.'),
latitude: '22.19009',
longitude: 122.457
};
validator.on('error', (err) => {
// invalid rule triggered
});
if (validator.validate(data)) {
// Pass
} else {
// Invalid
}
```
## To-Do
* shape check
* unit test case