Skip to content

Commit

Permalink
Return the row number on not unique value
Browse files Browse the repository at this point in the history
  • Loading branch information
shystruk committed May 10, 2021
1 parent 767cd61 commit b0b7fd0
Show file tree
Hide file tree
Showing 7 changed files with 747 additions and 3,823 deletions.
9 changes: 2 additions & 7 deletions demo/dist/bundle.js

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions demo/dist/bundle.js.LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/* @license
Papa Parse
v5.3.0
https://github.com/mholt/PapaParse
License: MIT
*/
46 changes: 23 additions & 23 deletions demo/index.js
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
import CSVFileValidator from '../src/csv-file-validator'

const requiredError = (headerName, rowNumber, columnNumber) => {
return `<div class="red">${headerName} is required in the <strong>${rowNumber} row</strong> / <strong>${columnNumber} column</strong></div>`
return `<div class="red">${headerName} is required in the <strong>${rowNumber} row</strong> / <strong>${columnNumber} column</strong></div>`
}
const validateError = (headerName, rowNumber, columnNumber) => {
return `<div class="red">${headerName} is not valid in the <strong>${rowNumber} row</strong> / <strong>${columnNumber} column</strong></div>`
return `<div class="red">${headerName} is not valid in the <strong>${rowNumber} row</strong> / <strong>${columnNumber} column</strong></div>`
}
const uniqueError = (headerName) => {
return `<div class="red">${headerName} is not unique</div>`
const uniqueError = (headerName, rowNumber) => {
return `<div class="red">${headerName} is not unique at the <strong>${rowNumber} row</strong></div>`
}
const isEmailValid = function (email) {
const reqExp = /[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$/
return reqExp.test(email)
const reqExp = /[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$/
return reqExp.test(email)
}
const isPasswordValid = function (password) {
return password.length >= 4
return password.length >= 4
}

const CSVConfig = {
headers: [
{ name: 'First Name', inputName: 'firstName', required: true, requiredError },
{ name: 'Last Name', inputName: 'lastName', required: true, requiredError },
{ name: 'Email', inputName: 'email', required: true, requiredError, unique: true, uniqueError, validate: isEmailValid, validateError },
{ name: 'Password', inputName: 'password', required: true, requiredError, validate: isPasswordValid, validateError },
{ name: 'Roles', inputName: 'roles', required: true, requiredError, isArray: true }
]
headers: [
{ name: 'First Name', inputName: 'firstName', required: true, requiredError },
{ name: 'Last Name', inputName: 'lastName', required: true, requiredError },
{ name: 'Email', inputName: 'email', required: true, requiredError, unique: true, uniqueError, validate: isEmailValid, validateError },
{ name: 'Password', inputName: 'password', required: true, requiredError, validate: isPasswordValid, validateError },
{ name: 'Roles', inputName: 'roles', required: true, requiredError, isArray: true }
]
}

document.getElementById('file').onchange = function(event) {
CSVFileValidator(event.target.files[0], CSVConfig)
.then(csvData => {
csvData.inValidMessages.forEach(message => {
document.getElementById('invalidMessages').insertAdjacentHTML('beforeend', message)
})
console.log(csvData.inValidMessages)
console.log(csvData.data)
})
document.getElementById('file').onchange = function (event) {
CSVFileValidator(event.target.files[0], CSVConfig)
.then(csvData => {
csvData.inValidMessages.forEach(message => {
document.getElementById('invalidMessages').insertAdjacentHTML('beforeend', message)
})
console.log(csvData.inValidMessages)
console.log(csvData.data)
})
}
Loading

0 comments on commit b0b7fd0

Please sign in to comment.