Input Validation (OCR GCSE Computer Science)

Revision Note

James Woodhouse

Written by: James Woodhouse

Reviewed by: Lucy Kirkham

Input Validation

What is Input Validation?

  • Input validation is code which is used to check that an input from a user is acceptable and that it matches the requirements of the program

  • There are 5 main categories of validation which can be carried out on fields and data types, these are

    • Length check

    • Type check

    • Range check

    • Presence check

    • Format check

  • There can be occasions where more than one type of validation will be used on a field

  • An example of this could be a password field which could have a length, presence and type check on it

input-validation

Length check

  • Checks the length of a string

  • An example is ensuring that a password is 8 or more characters in length

  • Code example

password_length = len(password)

while password_length < 8:
   password = input("Enter a password which is 8 or more characters")

Type check

  • Check the data type of a field

  • An example is checking a user's age has been entered as an integer, without creating an integer input

  • Code example

age = input("Enter your age")

while age.isdigit() == False:
    print("enter a number")
    age = input("Enter your age as a number")

Range check

  • Ensures the data entered as a number falls within a particular range

  • An example is checking a user's age has been entered and falls between the digits of 0-100

  • Code example

age = int(input("Enter your age"))

while age < 0 or age > 100:
    age = int(input("Enter your age, ensure it is between 0-100"))

Presence check

  • Looks to see if any data has been entered in a field

  • An example is checking that a user has entered a name when registering for a website

  • Code example

name = input("Enter your name")

while name == "":
     name = input("You must enter your name here")

Format check

  • Ensures that the data has been entered in the correct format

  • An example would be ensuring that an email includes the @ symbol and a full stop (.)

  • Code example

email = input("Enter your email address")


while "@" not in email or "." not in email:
    email = input("Please enter a valid email address")

 

Worked Example

A car dealership uses a computer system to record details of the cars that it has for sale. Each car has a make, model, age and number of miles driven.

The car dealership only sells cars that have fewer than 15,000 miles and are 10 years old or less.

Write an algorithm that will:

  • Ask the user to enter the number of miles and the age of a car

  • Validate the input to check that only sensible values that are in the given range are entered

  • Output True if valid data has been entered or False if invalid data has been entered [4]

How to answer this question

  • When answering any algorithm question, ask yourself:

    • What inputs and outputs do I need?

    • Do I need to do any calculations or comparisons?

    • Do I need to use selection or iteration?

    • Do I need to use a function or procedure?

  • Re-read the algorithm question working through the criteria given

Programming Skill

Algorithm

Inputs

  • Miles

  • Age

Outputs

  • True or False

Calculations / Comparisons

  • Check for valid mileage

  • Check for valid age

Selection or Iteration

  • Selection is needed (If age <10 and miles < 15000)

  • Iteration is not needed

Function or Procedure

  • Not needed

Answer: 

i)1 mark per bullet, max 4

  • Miles and age input separately

  • Checks for valid mileage

  • Checks for valid age

  • Checks both are greater than / greater than equal to zero

  • …correctly outputs both True and False

Example Answer:

miles = int(input("enter miles driven"))
age = int(input("enter age of car"))
valid = True
if miles > 15000 or miles < 0 then
    valid = False
elif age > 10 or age < 0 then
    valid = False
endif
print(valid)

Last updated:

You've read 0 of your 5 free revision notes this week

Sign up now. It’s free!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Did this page help you?

James Woodhouse

Author: James Woodhouse

Expertise: Computer Science

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.

Lucy Kirkham

Author: Lucy Kirkham

Expertise: Head of STEM

Lucy has been a passionate Maths teacher for over 12 years, teaching maths across the UK and abroad helping to engage, interest and develop confidence in the subject at all levels.Working as a Head of Department and then Director of Maths, Lucy has advised schools and academy trusts in both Scotland and the East Midlands, where her role was to support and coach teachers to improve Maths teaching for all.