TK Study

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.

Short version to memorise (key terms bank)

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

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

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

Study links

How to use it in an answer

A model sentence

General advice, built from the definition and example above

“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

General advice

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

What the marking guidelines and feedback say

Sample exam Q18b (3 marks): Developing secure code (Python input validation)

Remember to call the function in the main program after defining it, e.g. print(validate_username(input('Username: '))).

Familiarisation Q9b (3 marks): Developing secure code (Python input validation)

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 '<'.

2025 HSC Q19 (3 marks): Developing secure code (Python)

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

Open the question page

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

Open the question page

Common mistakes

Marker feedback on other questions of the same type (code and diagram feedback often applies across questions)
  • 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.
General advice
  • 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.

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

← Hardening systemsIn Y12 Secure Software ArchitectureIntegrity →