csvbox.io
  • Help Center
  • Getting Started
    • 1. Add Template
    • 2. Install Code
    • 3. Receive Data
  • Dashboard Settings
    • Column Options
    • Bulk Add Columns
    • Validations
    • Sheet Options
    • Styling
    • AI Bulk Transforms
  • Advanced Installation
    • Dynamic Columns
    • Virtual Columns
    • Unmapped Columns
    • Ignored Columns
    • Import Links
    • Validation Functions
    • Server Side Validation
    • Data Transforms
    • REST File API
    • Environment Variables
  • Data Destinations
    • Bubble.io
    • Zapier
    • Notion
    • Webflow
    • Private Mode
  • Account
    • Teams
  • Contact Us
  • App
  • Website
  • Login
  • Change Log
  • Suggestions
  • Legal
    • Privacy Policy
    • Terms of Use
    • Cookie Policy
    • User Data Policy
    • GDPR
      • Data Processing Addendum
    • SOC 2 Type 2
Powered by GitBook
On this page
  • How it Works
  • Validation Error Response JSON Format

Was this helpful?

  1. Advanced Installation

Server Side Validation

Validate data at your server, report back errors for correction.

PreviousValidation FunctionsNextData Transforms

Last updated 25 days ago

Was this helpful?

Consider a case where you want to validate the incoming data against your business rules. This could be as simple as verifying if the user ID is found in the database or something more complex that involves custom logic. Here you want the validation to be done at your server end and relay back errors if any.

With CSVbox you have the option of server-side validation of the submitted data and returning back the errors. Then the users can fix the errors and re-submit the data.

How it Works

1. Activate Server Side Validation via Sheet Settings.

Go to Edit Sheet > Select Destination Tab > Enable Server Side Validation

2. The users upload and submit the spreadsheet.

The users upload the spreadsheet, map columns, verify data, and then submit.

3. The CSVbox importer pushes the data to the API endpoint configured by you.

4. Your app can then processes the data and validate it against the business rules.

Case 1: Validation is successful - no errors found. Your API returns a 200 HTTP response code. The success screen is displayed to the user.

It is mandatory for your API to return 211 HTTP response status code to instruct the CSVbox importer that there are one or more server-side validation errors.

To view the results screen be sure to configure the CSVbox Result Page Settings. Go to Sheet Settings > Display > Results Page > Set Closing the import dialog box to Do not close on import complete

5. Validation Fail Screen is displayed to the user.

If there are one or more server-side validation errors then the users will see the Fail Screen with a button to view the errors.

6. Users can view the validation errors.

Clicking on the Errors button will take the users to the Verify Data screen with all the server-side errors displayed in yellow color.

Only the rows having the errors will be displayed.

7. After fixing the errors, the users can re-submit the data.

On re-submitting the data, the process will repeat. The importer will push the data to your API endpoint via POST requests and look for errors in the response.

Each re-submit will be treated as a fresh import having a new Import_Id.

To allow the users to re-submit all the rows again (instead of error rows only) select the 'All Rows' option as shown below:

Validation Error Response JSON Format

CSVbox will expect the API endpoint to return an array of errors. Each error should specify the row_id, the column the error appeared in, and a message to be displayed in the UI.

JSON Response Schema

Parameter
Type
Description

row_id

integer

The row number of the error. Starts with 1.

column

string

message

string

The message to be displayed to the user on the validation screen of the importer.

JSON Response Example

[
  {
    "row_id": 1,
    "column": "employee_id",
    "message": "Invalid Emp ID"
  },
  {
    "row_id": 2,
    "column": "dept",
    "message": "Department does not exist"
  },
  {
    "row_id": 3,
    "column": "employee_name",
    "message": "Employee's name has changed"
  }
]

The External Validation option is available only for the .

The importer will send the spreadsheet data via POST requests with JSON values to your API endpoint. The request schema is available .

Case 2: Validation failed - one or more errors found. Your API returns 211 HTTP response code along with the validation errors in JSON format. The error response JSON format is mentioned .

The of the error. It is case sensitive.

here
here
column name
API data destination
Server Side Validation
Activate Server Side Validation
Success Screen
Fail Screen with View Errors Button
Validation Errors in Yellow Color
Re-submit All Rows