csv-validator
nodejs validator for csv file
Features
- Parse csv (supports only file as of now) and convert to json array
- Validate each line with type or RegExp
- Return each line's error with error message
- Support callback and promise
- Non-blocking parsing
Install
npm install csv-validator --save
Example
Without errors:
/** csv filename,phone,email,countryjohn,123,john@ph.com,PHdoe,456,doe@us.com,US*/ const csv = ;const csvFilePath = '<path to csv file>';const headers = name: '' // any string phone: 1 // any number email: /^@$/ // RegExp _country: '' // add '_' as first character of the key to indicate as optional; // [ { name: 'john', phone: '123', email: 'john@ph.com', country: 'PH' }, { name: 'doe', phone: '456', email: 'doe@us.com', country: 'US' } ]
With error:
/** csv filename,phone,email,countryjohn,123a,john@ph.com,PHdoe,456,doe@us.com*/ const csv = ;const csvFilePath = '<path to csv file>';const headers = name: '' // any string phone: 1 // any number email: /^@$/ // RegExp country: '' // add '_' as first character of the key to indicate as optional; // [ 'Row 1: phone must be a type number', 'Row 2: country is required' ]
Error messages:
- ... must be a type number: the column should be a number
- ... is required: the column should be filled
- ... must be in /^[0-9]?.*/: the column should be in RegExp (in this example: /^[0-9]?$/)
Contribution
- Any pull request for new features and bug fixes is appreciated.
- Just make sure to add test.
LICENSE
MIT