Skip to main content

API Validations & Transformations — Detailed Learning Notes


1. Overview

  • Validations and transformations ensure:

    • Data integrity
    • Security
  • Applied during API design as a set of rules/guidelines


2. Backend Architecture Context


Typical Layers

Repository Layer

  • Handles:

    • Database connections
    • Queries (insert, delete, update)
  • Works with:

    • SQL DBs, Redis, etc.

Service Layer

  • Contains:

    • Business logic
  • Examples:

    • Calling repository methods
    • Sending emails
    • Webhooks
    • Notifications

Controller Layer

  • Handles:

    • HTTP logic
    • Input/output formatting
    • Status codes
  • Calls:

    • Service layer methods

Key Idea

  • Separation of concerns:

    • Controller → HTTP + validation
    • Service → business logic
    • Repository → data

3. Where Validations & Transformations Happen


Execution Flow

  1. Request arrives
  2. Route matched
  3. Validation & transformation pipeline runs
  4. Controller logic executes
  5. Service layer called

Critical Placement

  • Validations occur:

    • Before any business logic
    • At entry point (controller layer)

4. Purpose of Validation


Core Idea

  • Ensure incoming data:

    • Matches expected format
    • Prevents unexpected states

Example Requirement

{
"name": "string (5–100 chars)"
}

Validation Steps

  • Check:

    • Field existence
    • Data type
    • Value constraints

Example Checks

  • Field name exists
  • Type = string
  • Length between 5–100

5. Why Validation is Important


Without Validation

  • Invalid data reaches:

    • Service → Repository → Database

Example

  • API expects string
  • Client sends number

Result

  • Database rejects query

  • Server returns:

    • 500 Internal Server Error

Problem

  • Bad user experience
  • Hard to debug

With Validation

  • Server returns:

    • 400 Bad Request
  • Clear error:

    • “Invalid input format”

6. Types of Validations


6.1 Syntactic Validation


Definition

  • Validates structure/format of data

Examples

  • Email format:

    • name@domain.com
  • Phone number:

    • Country code + digits
  • Date format:

    • YYYY-MM-DD

Key Idea

  • Checks pattern, not meaning

6.2 Semantic Validation


Definition

  • Checks whether data makes logical sense

Examples

  • Date of birth:

    • Cannot be in future
  • Age:

    • Cannot be 365

Key Idea

  • Validates meaning/context

6.3 Type Validation


Definition

  • Ensures correct data types

Examples

  • String field → must be string
  • Number field → must be number
  • Array field → must be array
  • Boolean → true/false

Nested Validation

  • Array elements can have:

    • Their own constraints

7. Complex Validation Rules


Cross-field Validation

  • Example:

    • password == confirmPassword

Conditional Validation

  • Example:

    • If married = truepartner required

Key Insight

  • Validation can depend on:

    • Multiple fields
    • Business logic

8. Transformation


Definition

  • Process of:

    • Converting input data into required format

Why Needed

  • Client data may not match server expectations

Example: Query Parameters


Input

?page=2&limit=20
  • Received as:

    • Strings

Problem

  • Validation expects numbers

Solution

  • Transform:

    • "2"2
    • "20"20

Transformation Types


Before Validation

  • Convert types:

    • string → number

After Validation

  • Normalize data:

    • Email → lowercase
    • Phone → add + prefix
    • Date → standardized format

Example Transformations

  • "TeSt@Gmail.com""test@gmail.com"
  • "123456""+123456"

9. Validation + Transformation Pipeline


Combined Approach

  • Both happen in:

    • Single pipeline

Benefits

  • Centralized logic
  • Easier maintenance
  • Clear API requirements

10. API Validation Examples


Example 1: Syntactic

  • Required:

    • email
    • phone
    • date

Example 2: Semantic

  • DOB must not be future
  • Age must be ≤ 120

Example 3: Complex

  • Password length ≥ 8
  • Password = confirm password
  • Conditional fields (partner)

Example 4: Type

  • stringField → string
  • numberField → number
  • arrayField → array of strings
  • booleanField → boolean

11. Frontend vs Backend Validation


Frontend Validation

  • Purpose:

    • User Experience (UX)
  • Provides:

    • Immediate feedback

Backend Validation

  • Purpose:

    • Security
    • Data integrity

Important Rule

  • Never rely on frontend validation

Why?

  • Multiple clients:

    • Web apps
    • Postman / Insomnia
    • Mobile apps

Risk

  • Without backend validation:

    • Server can break
    • Invalid data enters system

12. Combined Workflow


Flow

  1. User enters data
  2. Frontend validates (UX)
  3. API request sent
  4. Backend validates (security)
  5. Response returned

Example

  • Frontend blocks invalid email
  • Backend still validates email

13. Key Principles


  • Validate everything at entry point

  • Never trust client input

  • Use:

    • Syntactic + Semantic + Type validation
  • Transform data for consistency

  • Keep validation logic centralized


14. Final Takeaways


  • Validation ensures:

    • Correct structure
    • Logical correctness
    • Data safety
  • Transformation ensures:

    • Data usability
  • Backend validation is:

    • Mandatory
  • Frontend validation is:

    • Optional (UX only)