Git Product home page Git Product logo

csv-validator's People

Contributors

alexander-sml avatar barry-jones avatar limking24 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

csv-validator's Issues

Feature Request - Header validation

If a header is expected:

  • Validate the number of columns expected (eg: if we specify 10 columns in the definition check that we have 10 headers)
  • Validate the header name - if the 'name' property is defined in the schema

Max column check

a) Is there any way to reject if the file has additional columns which are not defined?
or
b) Can I specify maxColumns, along with columnSeperator, which is checked for each row?

Quoted column regex weirdness

Looks like the Regex isn't a bit too capture happy :(

Example with the following input:
somthing,before,\"just, a string\",seperated,after

It actually returns:
image

does not support header rows

Header rows are not validated and when a header row is checked against the row requirements it can produce invalid failures

Handle quoted columns

When a file uses a comma to separate fields, commas in quoted fields are not escaped so they get processed as a new column.

Might be worth looking at CsvHelper as they seem to handle this

provide a summary of the errors

After the validation is complete currently the application only provides information about the overall failure or success of the file. When a failure occurs it should display a summary of the errors.

Improve validator instantiation

Update validator configuration to make constructing validator configurations easier.

Examples:

ValidatorConfiguration config = new ValidatorConfiguration();
config.Set(1, isNumeric: true);
config.Set(2, maxLength: 20, isRequired: true);
Validator validator = Validator.FromConfiguration(config);

NuGet package

Hi, this looks awesome.

Any chance of deploying as a NuGet package to use as a library within another application.

Provide an indicator of progress

Large files, especially those which will pass validation do not give any indication to the user that the application is progressing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.