Bird
Raised Fist0
Spring Bootframework~10 mins

@Size for length constraints in Spring Boot - 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 set a minimum length of 5 characters using @Size.

Spring Boot
@Size(min = [1])
private String username;
Drag options to blanks, or click blank then click option'
A3
B10
C0
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using max instead of min for minimum length.
Setting the value too low or zero when a minimum is needed.
2fill in blank
medium

Complete the code to set a maximum length of 20 characters using @Size.

Spring Boot
@Size(max = [1])
private String password;
Drag options to blanks, or click blank then click option'
A10
B20
C30
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing min and max attributes.
Setting a maximum length smaller than the minimum length.
3fill in blank
hard

Fix the error in the @Size annotation to require a length between 3 and 15 characters.

Spring Boot
@Size(min = 3, max = [1])
private String nickname;
Drag options to blanks, or click blank then click option'
A15
B5
C10
D20
Attempts:
3 left
💡 Hint
Common Mistakes
Setting max less than min causing validation errors.
Using incorrect numbers that don't match the requirement.
4fill in blank
hard

Fill both blanks to require a string length between 8 and 25 characters.

Spring Boot
@Size(min = [1], max = [2])
private String description;
Drag options to blanks, or click blank then click option'
A8
B10
C25
D30
Attempts:
3 left
💡 Hint
Common Mistakes
Swapping min and max values.
Choosing numbers outside the required range.
5fill in blank
hard

Fill all three blanks to require a string length between 4 and 12 characters and add a custom error message.

Spring Boot
@Size(min = [1], max = [2], message = "[3]")
private String title;
Drag options to blanks, or click blank then click option'
A4
B12
CLength must be between 4 and 12 characters
DLength should be at least 5
Attempts:
3 left
💡 Hint
Common Mistakes
Forgetting to add the message attribute.
Using incorrect numbers for min or max.
Writing a message that does not match the length constraints.

Practice

(1/5)
1. What does the @Size annotation do in Spring Boot validation?
easy
A. It ensures a field is not null.
B. It validates if a number is within a range.
C. It checks if a string or collection length is within specified min and max limits.
D. It checks if a string matches a regular expression.

Solution

  1. Step 1: Understand the purpose of @Size

    @Size is used to validate the length of strings or collections, not numeric ranges or null checks.
  2. Step 2: Identify what @Size checks

    It uses min and max to set length limits on text or collections.
  3. Final Answer:

    It checks if a string or collection length is within specified min and max limits. -> Option C
  4. Quick Check:

    @Size validates length = C [OK]
Hint: Remember @Size controls length, not value or null checks [OK]
Common Mistakes:
  • Confusing @Size with @Min/@Max for numbers
  • Thinking @Size checks null values
  • Assuming @Size validates patterns
2. Which of the following is the correct way to use @Size to require a string between 5 and 10 characters?
easy
A. @Size(min=5, max=10)
B. @Size(length=5-10)
C. @Size(minLength=5, maxLength=10)
D. @Size(range={5,10})

Solution

  1. Step 1: Recall correct @Size syntax

    The correct attributes are min and max for length limits.
  2. Step 2: Check each option

    Only @Size(min=5, max=10) uses valid attribute names and syntax.
  3. Final Answer:

    @Size(min=5, max=10) -> Option A
  4. Quick Check:

    Use min and max attributes = A [OK]
Hint: Use min and max, not length or range attributes [OK]
Common Mistakes:
  • Using invalid attribute names like length or range
  • Trying to pass a range as a string
  • Confusing @Size with other annotations
3. Given this code snippet:
@Size(min=3, max=6)
private String code;

Which input value will pass validation?
medium
A. "ab"
B. "abcde"
C. "abcdefg"
D. ""

Solution

  1. Step 1: Understand the length limits

    The string must have length between 3 and 6 characters inclusive.
  2. Step 2: Check each input length

    "ab" length is 2 (too short), "abcdefg" length is 7 (too long), "abcde" length is 5 (valid), "" length is 0 (too short).
  3. Final Answer:

    "abcde" -> Option B
  4. Quick Check:

    Length between 3 and 6 = "abcde" [OK]
Hint: Count characters; must be between min and max [OK]
Common Mistakes:
  • Ignoring inclusive limits
  • Counting characters incorrectly
  • Assuming empty string passes
4. Identify the error in this code snippet:
@Size(min=2, max=5)
private int number;
medium
A. @Size cannot be applied to primitive types like int.
B. min and max values are reversed.
C. Missing @NotNull annotation.
D. max value should be greater than 10.

Solution

  1. Step 1: Check @Size target types

    @Size works on strings, collections, arrays, but not on primitive types like int.
  2. Step 2: Analyze the code

    The field is an int, so @Size is invalid here and will cause an error.
  3. Final Answer:

    @Size cannot be applied to primitive types like int. -> Option A
  4. Quick Check:

    @Size only for strings/collections = D [OK]
Hint: Use @Size only on strings or collections, not primitives [OK]
Common Mistakes:
  • Applying @Size to numbers
  • Confusing @Size with @Min/@Max for numbers
  • Ignoring type compatibility
5. You want to validate a list of usernames where each username must be between 4 and 12 characters. Which is the correct way to apply @Size in your Spring Boot model?
hard
A. @Size(min=4, max=12) private List<@Size(min=4, max=12)> usernames;
B. @Size(min=4, max=12) private String[] usernames;
C. @Size(min=4, max=12) private List<String> usernames;
D. private List<@Size(min=4, max=12) String> usernames;

Solution

  1. Step 1: Understand @Size on collections vs elements

    @Size on a collection checks the collection size, not each element's length.
  2. Step 2: Apply @Size to elements inside the collection

    To validate each username's length, use @Size on the generic type parameter or element level.
  3. Step 3: Analyze options

    private List<@Size(min=4, max=12) String> usernames; correctly applies @Size to each String element in the List.
  4. Final Answer:

    private List<@Size(min=4, max=12) String> usernames; -> Option D
  5. Quick Check:

    Use @Size on elements for per-item length = D [OK]
Hint: Put @Size on list elements, not just the list itself [OK]
Common Mistakes:
  • Applying @Size only on the list, not elements
  • Using invalid syntax for generic annotations
  • Confusing collection size with element length