Bird
Raised Fist0
Rest APIprogramming~10 mins

Validation error details in Rest API - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to raise a ValueError with a message.

Rest API
if age < 0:
    raise ValueError([1])
Drag options to blanks, or click blank then click option'
A"Age cannot be negative"
BAge cannot be negative
CValueError
DNone
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a variable without quotes causes a NameError.
Not raising an error when age is negative.
2fill in blank
medium

Complete the code to catch a ValueError exception.

Rest API
try:
    number = int(user_input)
except [1]:
    print("Invalid number")
Drag options to blanks, or click blank then click option'
AValueError
BTypeError
CException
DNameError
Attempts:
3 left
💡 Hint
Common Mistakes
Catching the wrong exception type.
Using a generic Exception instead of ValueError.
3fill in blank
hard

Fix the error in raising a custom exception with a message.

Rest API
class NegativeAgeError(Exception):
    pass

if age < 0:
    raise NegativeAgeError([1])
Drag options to blanks, or click blank then click option'
ANegativeAgeError
BNone
C"Age must be positive"
DAge must be positive
Attempts:
3 left
💡 Hint
Common Mistakes
Passing a bare word without quotes causes a NameError.
Not providing any message at all.
4fill in blank
hard

Fill both blanks to create a dictionary of errors with messages longer than 10 characters.

Rest API
errors = {field: msg for field, msg in error_dict.items() if len(msg) [1] [2]
Drag options to blanks, or click blank then click option'
A>
B<
C10
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using < instead of > causes wrong filtering.
Using the wrong number for length comparison.
5fill in blank
hard

Fill all three blanks to filter errors with keys starting with 'user' and messages containing 'invalid'.

Rest API
filtered = {k: v for k, v in errors.items() if k.[1]('user') and 'invalid' [2] v and len(v) [3] 0}
Drag options to blanks, or click blank then click option'
Astartswith
Bin
C>
Dendswith
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'endswith' instead of 'startswith'.
Using 'not in' instead of 'in'.
Using wrong comparison operators.

Practice

(1/5)
1. What is the main purpose of validation error details in a REST API response?
easy
A. To explain which input fields are wrong and why
B. To speed up the server response time
C. To encrypt the data sent to the client
D. To log user activity for analytics

Solution

  1. Step 1: Understand validation errors

    Validation errors tell us what input data is incorrect or missing.
  2. Step 2: Purpose of error details

    Error details explain which fields caused the problem and why, helping fix input.
  3. Final Answer:

    To explain which input fields are wrong and why -> Option A
  4. Quick Check:

    Validation error details = Explain input errors [OK]
Hint: Validation errors show what and why input is wrong [OK]
Common Mistakes:
  • Thinking error details speed up server
  • Confusing error details with encryption
  • Assuming error details are for logging only
2. Which of the following is the correct JSON structure for validation error details in a REST API?
easy
A. {"data": {"email": "user@example.com"}}
B. ["email", "password"]
C. {"status": 200, "message": "Success"}
D. {"errors": {"email": "Invalid format", "password": "Too short"}}

Solution

  1. Step 1: Identify error details format

    Error details usually use a JSON object with field names as keys and error messages as values.
  2. Step 2: Check options

    {"errors": {"email": "Invalid format", "password": "Too short"}} shows a JSON object with "errors" key and field-specific messages, which is correct.
  3. Final Answer:

    {"errors": {"email": "Invalid format", "password": "Too short"}} -> Option D
  4. Quick Check:

    Validation errors = JSON object with field messages [OK]
Hint: Look for JSON object with field names and error messages [OK]
Common Mistakes:
  • Using arrays instead of objects for errors
  • Confusing success response with error details
  • Missing field names in error messages
3. Given this JSON error response:
{"errors": {"username": "Required field", "age": "Must be a number"}}

What message should the client show for the 'age' field?
medium
A. Must be a number
B. Invalid email format
C. Required field
D. Password too short

Solution

  1. Step 1: Read the JSON error response

    The error for "age" is "Must be a number".
  2. Step 2: Match the message to the field

    The client should show the message exactly as given for the "age" field.
  3. Final Answer:

    Must be a number -> Option A
  4. Quick Check:

    Field 'age' error = Must be a number [OK]
Hint: Match field name to its error message in JSON [OK]
Common Mistakes:
  • Mixing error messages between fields
  • Showing unrelated error messages
  • Ignoring the JSON structure
4. You receive this validation error JSON:
{"error": "Invalid input", "fields": ["email", "password"]}

What is wrong with this error detail format?
medium
A. It correctly shows error details
B. It uses a list instead of mapping fields to messages
C. It uses wrong HTTP status code
D. It encrypts error messages

Solution

  1. Step 1: Analyze error detail format

    The "fields" key has a list of field names but no messages explaining the errors.
  2. Step 2: Identify correct format

    Validation error details should map each field to a specific error message, not just list fields.
  3. Final Answer:

    It uses a list instead of mapping fields to messages -> Option B
  4. Quick Check:

    Error details need field-message pairs [OK]
Hint: Error details need field names paired with messages [OK]
Common Mistakes:
  • Listing fields without error explanations
  • Assuming any error JSON is correct
  • Ignoring the need for descriptive messages
5. You want to design a REST API validation error response that shows multiple errors per field. Which JSON structure correctly supports this?
hard
A. {"errors": ["email: Required", "password: Too short"]}
B. {"error": "Multiple errors found"}
C. {"errors": {"email": ["Required", "Invalid format"], "password": ["Too short"]}}
D. {"fields": ["email", "password"]}

Solution

  1. Step 1: Understand multiple errors per field

    To show many errors for one field, use a list (array) of messages for that field.
  2. Step 2: Check JSON structures

    {"errors": {"email": ["Required", "Invalid format"], "password": ["Too short"]}} uses a dictionary with field keys and lists of error messages, which fits the need.
  3. Final Answer:

    {"errors": {"email": ["Required", "Invalid format"], "password": ["Too short"]}} -> Option C
  4. Quick Check:

    Multiple errors per field = list of messages [OK]
Hint: Use lists inside error fields to show multiple messages [OK]
Common Mistakes:
  • Using flat lists without field keys
  • Not supporting multiple messages per field
  • Using vague error messages without details