- Robust programming means writing programs that can cope with errors. One example would be to use data validation to avoid incorrect input.
- Secure programming means writing programs that use security features such as passwords
You must check your validation with normal, boundary and erroneous data.
NOTE: All the following use while loops, not ifs! Why?
The following code checks that a value is entered
ans = input("Enter your choice") while ans == "": ans = input("You must enter a value")
Test data: Erroneous: “” Normal: “Pizza”
The following code checks that the username is at least 6 characters long
ans = input("Choose your username") while len(ans) <6: ans = input("Username must be at least 6 characters")
Test data: Erroneous: “Pizza” Normal: “Hamburger”
The following checks that someone is aged between 11 and 18
age = int(input("Enter your age: ")) while age < 11 or age > 18: age = int(input("Age must be between 11 and 18 "))
Test data: Erroneous: 8 Boundary: 11 Normal: 15
The following checks that someone is in a year 9 form
forms = ["9b","9h","9bh","9l","9m","9lm","9r","9w","9rw"] f = input("Enter your form group: ").lower() while f not in forms: f = input("Not a valid form group: ").lower()
Test data: Erroneous: “8qt” Normal: “9l”
Write code to perform the following validation checks.
- Jockey club names cannot be more than 18 characters long. Write a validation check for these names. Test with the normal data “Ariel” and the erroneous data “supercalifragilisticexpialidocious”
- Modify your answer to question 1 so that blank names are also rejected
- Police officers in the UK are aged between 18 and 60. Write a validation check for this. Test your code with the following data: 25, 60 and 81
- A cafe sells the following drinks: tea, black coffee, white coffee, hot chocolate, lemonade. Write a validation check for the above drinks.
The following code demonstrate the in, startswith and endswith functions
>>> s ="I never saw a purple cow" >>> s.endswith("cow") True >>> s.startswith("I") True >>> "never" in s True
Use them to write validation checks for the following:
This is an example of a URL: http://blue-coat.org
- URL check: does it end in .com or .org?
- Does it start with http:// or https://
- Simple check for email: does the string contain an ‘@’?
- More complex email check: does a string contain ‘@’ and end with .com or .org?