Software Engineering › Key terms › Y12 Secure Software Architecture › Input validation
Input validation
Term Key terms bank Y12 Secure Software Architecture
Definition
Checking that input meets rules (type, range, length, format, presence) before it is used.
Example: if not age.isdigit(): reject
Found in: syllabus, sample exam and familiarisation guidelines, school notes.
Checking input meets rules before use.
Where it is used in the test
Syllabus area: Y12 Secure Software Architecture.
Question types it can appear in
- Python: Python validation function
- Short answer: Define, outline or explain it and tie it to the scenario.
- Multiple choice: Pick the option that matches the definition or example.
- Fill in the blanks: Choose this term to complete a statement or table.
Where it has appeared in the paper
Secure Software Architecture (Part A, B, C). Part letters follow each paper’s own layout.
Related past questions
- Sample exam Q18b (3 marks): Developing secure code (Python input validation) Secure Software Architecture (Part B) · 3 marks
- Familiarisation Q9b (3 marks): Developing secure code (Python input validation) Secure Software Architecture (Part C) · 3 marks
- 2025 HSC Q19 (3 marks): Developing secure code (Python) Secure Software Architecture (Part A) · 3 marks
These are the questions the flashcard set links to this term. Open each one and compare your answer with its marking criteria.
Other questions that mention it
- Sample exam Q18a Secure Software Architecture (Part B) · 3 marks
Study links
- Flashcard: Input validation in Secure Software Architecture (Year 12) · study that set
- Memorise: Defensive data input handling: validation, sanitisation, error handling
- Key terms bank entry: Input validation
- Notes: Design, develop and implement code using defensive data input handling practices,… (Secure Software Architecture (Year 12))
- Notes: Part 3. Where this has been examined (see ../../question_bank.md) (Secure Software Architecture (Year 12))
- Notes: Part 3. Where this has been examined (see ../../question_bank.md) (Python and SQL you must be able to write)
- Notes: Fundamental software design security concepts (six words) (Secure Software Architecture (Year 12))
How to use it in an answer
A model sentence
“Checking that input meets rules (type, range, length, format, presence) before it is used.” Then apply it: if not age.isdigit(): reject
In a short answer, give the definition in your own words first, then tie it to the situation in the question. Do not copy the example above unless it fits the scenario.
Command words used with it
No linked question shows the command word for this term. Across the past python and short answer questions in this bank the words used most are: Explain, Outline, Describe, Compare, Classify, Analyse. Check the actual word in your question.
Technique for the question types
- Python: Write code that runs: indentation, quotes, define functions before calling them, print the required output, meet every listed requirement.
- Short answer: One clear point per mark, use the stimulus and course terms, and answer the command word.
- Multiple choice: Read all four options, rule out wrong ones, pick one; no penalty for guessing so never leave blank.
- Fill in the blanks: Choose the right word from a list; use exact syllabus terms.
What the marking guidelines and feedback say
Remember to call the function in the main program after defining it, e.g. print(validate_username(input('Username: '))).
Answers may include print statements to test the code, e.g. print(validateUsername("test")). The rules implied by the sample: no more than 8 characters, letters only, no '<'.
Marker feedback: process string inputs; use a selection structure; code must execute in the environment; use correct indentation; call functions in the main program after defining them.
Worked answers from the marking guidelines
Sample exam Q18b (3 marks): Developing secure code (Python input validation) (3 marks): criteria and sample answer
Criteria
3: Correct function in Python to check whether a username satisfies the rules. 2: Partially correct function. 1: Some understanding of the problem and Python.
Sample answer
def validate_username(username): valid = True
# length check
if len(username) < 8:
valid = False
elif (not username[0].isupper()):
valid = False
elif (not username[-2].islower()):
valid = False
elif (not username[-1].isdigit()):
valid = False
return valid
Familiarisation Q9b (3 marks): Developing secure code (Python input validation) (3 marks): criteria and sample answer
Criteria
3: Correct function in Python that checks whether a username satisfies the rules. 2: Partially correct function. 1: Some understanding of the problem and Python.
Sample answer
def validateUsername(username):
# Length check
if len(username) > 8:
return False
# Alpha character only check
elif username.isalpha() == False:
return False
# < character check
elif "<" in username:
return False
# If we reach here then the username meets the requirements
return True
Common mistakes
- Python questions (2025 HSC exam Q19): process string inputs; use a selection structure; code must execute in the environment; use correct indentation; call functions in the main program after defining them.
- Python questions (2025 HSC exam Q26): replicate the grid; use the random library; use selection and looping to access the list; include a method of checking the number of values; use meaningful variable names and constants; avoid overly complex structures such as nested IF loops.
- Use the term exactly as the syllabus words it, then link it to the scenario in the question; the 2025 feedback repeatedly rewards using the stimulus.
- Answer the command word: outline gives main points only, explain gives a reason or cause, discuss gives both sides.
Related terms
Same group in the syllabus: Defensive data input handling · Sanitisation · Error handling · Application programming interface (API) · Excessive data exposure · Memory management · Session management · Exception management