Registration form

Covers every common input type. Submit with errors to see validation messages; submit a valid form to see a JSON summary.

Experience *
Tools you use

Result

Nothing submitted yet.

Exercises

1. Required fields

Beginner

Submit the form without filling anything in.

Expected: the status says Please fix the highlighted fields., each required field shows its own message (full name, email, password, country, experience, terms), invalid fields get aria-invalid="true", and the cursor jumps to Full name.

Show me how

2. Fill in every field type

Beginner

Fill every input (text, select, multi-select, radio, checkboxes, date, slider, colour, file and textarea) and submit.

Expected: the status thanks you by name, and the JSON under Result contains exactly the values you entered, e.g. "country": "PT", "languages": ["python", "javascript"] and "satisfaction": 8.

Show me how

3. Validation boundaries

Intermediate

Find the exact edge of each rule: age must be 18–120, the phone 9–15 digits, the password 8+ characters with a number.

Expected: age 17 shows Age must be between 18 and 120. but 18 doesn't; 12345 is rejected as a phone; abcdefgh is rejected as a password but abcdefg1 isn't.

Show me how

4. File too large

Beginner

Upload an avatar just over 1 MB.

Expected: the file name and size appear under the input straight away, and submitting shows File is larger than 1 MB.

Show me how