Question

For the following codes, define the validation criteria (there may be multiple checks for each field)...

For the following codes, define the validation criteria (there may be multiple checks for each field) and the order that you would test each of the conditions. a. A credit card number entered on a Web form: The customer has selected the type of credit card from a drop-down list. b. A part number in a hardware store: The part number is a complex code, where the first digit represents the department (such as housewares, automotive, and so on), and the number should be self-checking. There are seven different departments. c. The date that a book was postmarked when returned to an online bookstore: A copy of the customer receipt must be included with the book. Returned books must be postmarked within 30 days of the purchase date. d. A language spoken code used on a Web site: Hint: Search the Web for standard language codes. e. A driver’s license number, composed of several parts: The person’s birth month, the birthday, and birth year, not necessarily together; a code representing eye color; and a sequence number. The driver’s license contains the date of birth, the eye and hair color, as well as the person’s name and address. f. The Canadian postal code: The format is X9X 9X9 (X is any letter, 9 is any number). g. Airline luggage codes: Such as LAX for Los Angeles or DUB for Dublin. h. A product key used to unlock purchased software: The key consists of four groups of five characters each. The first group must have two letters followed by three numbers; the second group must contain two numbers followed by three letters; the third group must contain two letters, each from A through G, followed by three numbers from one through four; and the last group must contain a letter, either an E, G, or C, two digits with values from four through seven, and two letters, either an A, B, or C. Hint: A pattern may be the best way to validate the product key.

0 0
Add a comment Improve this question Transcribed image text
Answer #1

the internet required a completely different payment method than the real world. After a very short period of time, everyone came to realize that credit cards were actually quite well-suited to the web, and so the credit card form was born. You’ve probably seen such form frequently and always with the same fields:

Your name

Credit card type

Credit card number

Expiration date

Validation code:

Ideally, users will fill the web form with necessary information and finish their job successfully. However, people often make mistakes. This is where web form validation comes into play. The goal of web form validation is to ensure that the user provided necessary and properly formatted information needed to successfully complete an operation. In this article we will go beyond the validation itself and explore different validation and error feedback techniques, methods and approaches.

Validation methods Link

User’s input can be validated on the server and on the client (web browser). Thus we have server-side and client-side validation. We’ll discuss pros and cons of each.

Server-side validation Link

In the server-side validation, information is being sent to the server and validated using one of server-side languages. If the validation fails, the response is then sent back to the client, page that contains the web form is refreshed and a feedback is shown. This method is secure because it will work even if JavaScript is turned off in the browser and it can’t be easily bypassed by malicious users. On the other hand, users will have to fill in the information without getting a response until they submit the form. This results in a slow response from the server.

The exception is validation using Ajax. Ajax calls to the server can validate as you type and provide immediate feedback. Validation in this context refers to validating rules such as username availability.

Client-side validation Link

Server-side validation is enough to have a successful and secure form validation. For better user experience, however, you might consider using client-side validation. This type of validation is done on the client using script languages such as JavaScript. By using script languages user’s input can be validated as they type. This means a more responsive, visually rich validation.

With client-side validation, form never gets submitted if validation fails. Validation is being handled in JavaScript methods that you create (or within frameworks/plugins) and users get immediate feedback if validation fails.

Main drawback of client-side validation is that it relies on JavaScript. If users turn JavaScript off, they can easily bypass the validation. This is why validation should always be implemented on both the client and server. By combining server-side and client-side methods we can get the best of the two: fast response, more secure validation and better user experience.

Typepad sign-up form2
Rich, instant validation feedback is done on the client on TypePad

What to validate Link

There are several different types of validation you can perform: required fields, correct format and confirmation fields.

Required information Link

The first and most obvious information that should be validated is required information – information without which operation cannot be completed successfully. Thus, validation has to ensure that the user provided all the necessary details in the web form and it has to fail if at least one of the fields is not provided. Required fields should be clearly marked in order to inform users about what information has to be provided up front.


Required fields on Komodo Media blog comment form are marked with “required” help text.

A common way to mark required fields is with an asterisk (*). However, not all users know the meaning of an asterisk sign. Beginners or older users are very likely to have only a general idea of what an asterisk might mean. This is the reason why it is a good practice to either put a note on the top of the form that indicates that all fields marked with an asterisk are required or to use required field markers. In case that all fields are required there is no need to place asterisks or markers in the form. A simple message that all fields are required is enough.

4
Facebook doesn’t provide information about required fields. Users get information that all fields are required only after they press the “submit”-button.

Last year, we conducted an survey on Web form design5. According to that survey “designers tend to remove all unnecessary details and distractions which don’t help the user to complete the form”. More detailed analysis showed a trend of using very few mandatory fields – more than 50% of forms used at most 5 mandatory fields, while optional fields were often avoided. This can be useful to you when deciding on required fields.

Correct format Link

Apart from ensuring that users provide necessary information, validation has to ensure that users provide information in the correct format. This applies to various cases such as email address, URL, dates, phone numbers and others. If the information is not in the correct format, users should be informed and correct format should be suggested. Probably the easiest way to validate the “correct” formatting is to use regular expressions.

Please notice that it is often a good idea to not impose a strict input pattern on the users; it’s better to actually permit users to enter text in a variety of formats and syntaxes, and make the application interpret it intelligently. The user just wants to get something done, not think about “correct” formats and complex UIs. Let the user type whatever he needs, and if it’s reasonable, make the software do the right thing with it. This design pattern is also often called forgiving format UI design pattern6.

7
Carbonmade sign-up form validates URL format, informs the user about the error and provides ways to correct it.

To learn more about regular expressions be sure to read Essential Guide To Regular Expressions: Tools and Tutorials8 or if you already know the basics: Crucial Concepts Behind Advanced Regular Expressions9. We’ll discuss some other format techniques later in the article.

Confirmation fields Link

When dealing with data that is important to the system, it is a good practice to let the users confirm their input using additional confirmation fields. This way users can be certain that they provided correct information. A typical case when confirmation field is used is for passwords, but it can be used in other cases like an email address.

10
Photobucket sign-up form required users to re-type password they previously entered in order to ensure it has been correctly entered.

A confirmation field should be placed next (or below) the target field. It has to clearly describe the purpose of the field such as “Confirm your password”. If two values do not match, the user should be informed. As an option, you can use a success indicator if values DO match.

The second part of our survey11 shows interesting information about confirmation fields. Email confirmation was mandatory in only 18% of sites, while password confirmation was mandatory in 72% of web sites. Surprisingly, large websites such as Facebook, LinkedIn, Stumbleupon and Twitter don’t require password confirmation.

Advertisement

Validation feedback Link

If validation fails, the system should let the users know it by providing a clear and unambiguous message (usually one or two sentences) and ways to correct errors. Since users need to notice an error message immediately, it is a good practice to position it at the top of a web form, before all the other fields. This will also allow screen readers to easily access the message.

The message should be shown preferably in red since this is the color that people usually associate with errors and it should contain an appropriate icon in order to get more attention. Icon should be globally recognizable, such as a red circle with white cross. This will also help people with visual impairments identify the meaning of the message. In addition to this, users should be informed about which input fields need to be checked.

12
The Invoice Machine Sign-up form doesn’t provide error feedback. Error message is missing and input fields are colored with pastel red that is not easy to spot.

Apart from the error message and a list of invalid fields, the system should clearly mark fields that are invalid. This can be done in one of the following ways (or any combination of them):

  • By providing red inline messages or markers next to every invalid field
  • By changing the background color or border color of invalid fields (to red)
  • By changing the color of field labels
  • By providing error tips (balloons) next to each field

If you provide error tips or help, be short and informative. For example, if date is in an incorrect, format provide users with details on how to format it properly: “The date should be in the dd-mm-yyyy-format”. It is sometimes also a good idea to have these hints as the initial value of your input fields. Thus, the user will first read the hint inside the input box and when he/she will start typing the data, the hint will disappear.

Validation upon submit Link

The “classic” way to perform validation is when the user submits his data via the “submit”-button. The validation is executed and if any errors are found, feedback is returned and displayed to the user. This way users will be able to fill the form without any interruptions. But, that could be a disadvantage as well. Users will be able to fix the errors only after they try to submit the form and get the response back from the server. This technique is typical for server-side validation, but can also be done on the client side.

13
Feedback on Ballpark sign-up form occurs upon submit. It shows an obvious error message with incorrect fields at the top of the form and marks each incorrect field with a tip.

Real-time validation (or instant validation) Link

In contrast to the previous technique, real-time-validation alerts users while they are filling in the form. That doesn’t necessarily mean that the validation is performed on every single key press but rather when a field loses focus. This way users will get immediate feedback about their input, e.g. if a username is available or if a date is in the correct format. Obviously, instant validation occurs during typing in an input field or after the input field loses focus. Usually, it is complemented with a text message, tip or a status icon.

Yahoo! sign-up form14
Yahoo registration form implements password strength meter that gives feedback as you type in the letters.

Instant validation should be implemented carefully and in appropriate cases because it might be distracting if overused or misused.

Typepad sign-up form15
Sign-up form on TypePad not just provides instant validation feedback that informs users of different validation errors – it also indicates successfully entered information.

What to avoid? Link

There are two things you should really try to avoid when designing form validation. First, single error pages are bad practice. Singe error page means that users are redirected from the Web form they filled to a page that shows some feedback. In this case, users are forced to browse back in order to fix errors. When they browse back they will have to memorize the information you provided in the error message. The same applies to feedback messages in popup windows. Not only are popups annoying, but once they are closed all the feedback is lost.

An interesting finding in the second part of SM survey16 is that “30% of the forms displayed only an error-message at the top of the form (no input fields were highlighted)” while “29% had highlighted input fields with corresponding messages next to the input field (no error-messages were provided at the top of the page)”. Only 25% used both error-messages and input fields.

Probably the most surprising facts are that 14% of sites still use JavaScript popup for showing validation feedback, while Ajax validation is present only on 22% of sites. This shows big variations in validation feedback.

Better safe than sorry Link

Apart from the pure validation, there are several techniques that can help users make fewer mistakes. Although not all of these techniques can be considered validation, they do help by guiding users and preventing them from making mistakes.

Help hints Link

If a web form requires complex information to be filled in, help hints can significantly help users in the process of filling in the correct information. By guiding them how to fill particular information, you let them fill the form faster and avoid potential validation errors. Help hints are usually shown as simple text next to or above the input field. The design of help hints should differ from the design of form labels. It is usually shown in smaller, grayed text. The advantage of help information is that it is always visible to the user even if JavaScript is turned off.

17
WishListr provides useful help information on the right side of each field.

Help indicators (tooltips) Link

In contrast to help hints, tooltips initially hide information and make it visible “on demand”. They are usually triggered by an icon with a question mark. Help information is shown by hovering over the help icon or clicking on it. Once the mouse is moved away from the icon, the tooltip disappears. Help indicators can reduce clutter, especially if help text is too long.

18
Sign-up form on TicketTrunk contains obvious help indicators that provide help information on hover.

Dynamic tips Link

Similar to the previous case, dynamic tips are initially not visible to users. Once the user enters a particular input field, related tip is shown. This way tips are emphasized and clutter in the form is reduced. Tips should be shown in such a way that they don’t cover other information on the form. They are usually shown next to input fields, but you should always try to place them on the right side of the fields since that is less distracting.

19
Digg registration form has discrete dynamic tips that show help information related to the field that has the focus.

Masking and reformatting user’s input Link

Apart from validating user’s input and assisting users, web applications can also take part in providing correct data by formatting user’s input. This can be done by masking input fields in order to force users to enter information in an appropriate format. Mask is an expression that controls what users can enter in an input field. Masking can be implemented easily with one of the following plugins:

  • meioMask20
  • iMask21
  • TypeCast22
  • jQuery Masked input plugin23

TypeCast masking demo24
Typecast25 demo page shows different masking options.

In some cases users might fill partially correct information or correct information but in different format. In those cases web application can provide a mechanism to correct and rewrite the user’s input. Some of the possible scenarios when you might consider rewriting user’s input are:

  • if, for instance, a user enters URL without “http://” prefix, the system can just add this string to the beginning of URL.
  • if a user provides data in the dd-mm-yyyy-format, but the required format is yyyy-mm-dd, the system can rewrite the date so it is well-formed
  • if a user provides credit card number without dashes, the system can add dashes to appropriate positions in the credit card number

26
Tumblr provides a sort of masking for URL.

These ideas are just some of the cases when this technique can be used. However, auto-formatting should be used carefully and – if not used properly – can be confusing to users. Also, not all user’s input is predictable. If, for example, user enters “www.smashingmagazine” and omits the extension, the system can’t assume that the extension is “.com”, but should rather raise a validation error.

In this context it’s again worth mentioning the “forgiving format” design pattern. Instead of restricting user’s input to a specific format you can allow users to provide various formats and let the system parse it. In many cases this would require a lot of server processing; back-end would be responsible for parsing the input, extracting information and converting it to appropriate formats for further processing.

27
Google Calendar has a very clever implementation of this technique with one-field for adding events. Users can enter information in various formats (even use “tomorrow” instead of date); the system parses it and stores it as a new event. If user provides information that can’t be parsed, system assumes that this information is event title and redirects the user to a longer version of the form with filled event name. This way Google completely omitted validation.

According to our survey. 67% of sites use help text and tips, 10% of which use dynamic tips. Surprisingly, only 26% of tips are positioned on the right side of the fields, while in other cases tips are positioned above, below and even on the left side of input fields.

Add a comment
Answer #2

Coding can be difficult in the long run! These questions are quite challenging. Thank you for sharing this. Many of us students feel numb and afraid while solving such difficult questions. But, the ones who practice daily fall in love with coding.

So, if you are facing difficulty in coding, you can refer to Crazy for Study. This website can help you with numerous subjects. It provides accurate <a href="https://www.crazyforstudy.com/textbook-solutions-manuals">textbook solution manuals</a> at minimal rates.


answered by: anonymous
Add a comment
Know the answer?
Add Answer to:
For the following codes, define the validation criteria (there may be multiple checks for each field)...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • (Please type the answer on computer because I find it difficult to read most of the...

    (Please type the answer on computer because I find it difficult to read most of the handwritings!) o-4 points HunterDM3 4.1.007. My Notes 2 License plates in India begin with a code that identifies the state and district where the vehicle is registered, and this code is followed ya four-digit identification number. These identification numbers are given sequentially, starting with 0000, 0001, 0002, etc. Once this sequence reaches 9999, letter from the set (A, , Z) is added (in order),...

  • 1) A: List all possible outcomes (the sample space) for the tree diagram below B: Calculate...

    1) A: List all possible outcomes (the sample space) for the tree diagram below B: Calculate the number of all possible outcomes: bb 2) Based on the tree diagram below, how many ways can a coin be tossed four times and get exactly 3 tails? Hнн HHT HHHH HHHT HHTH H HTT HTHH HTHT HTTH HTTT THH T THT TTHS THHH THHT THTH THTT TTHH ΤΤΗΤ ΤΤΤΗ ΤΤΤΤ ΤΤΤ 3) How many 12-letter "words" (real or made-up) can be made...

  • Write a structured (procedural) Python program that solves the following spec: Soundex System Coding: Soundex is...

    Write a structured (procedural) Python program that solves the following spec: Soundex System Coding: Soundex is a system that encodes a word into a letter followed by three numbers that roughly describe how the word sounds. Therefore, similar sounding words have the same four-character code. Use the following set of (slightly modified #4) rules to create a translator from English words to Soundex Code: Retain the first letter of the word. For letters 2 …n, delete any/all occurrences of the...

  • **DO IT AS PYTHON PLEASE** The Trifid Cipher General Problem Description The Trifid cipher (not to be confused with the...

    **DO IT AS PYTHON PLEASE** The Trifid Cipher General Problem Description The Trifid cipher (not to be confused with the creatures from the classic science-fiction film "The Day of the Triffids") is an algorithm that enciphers a plaintext message by encoding each letter as a three-digit number and then breaking up and rearranging the digits from each letter's encoded form. For this assignment, you will create a set of Python functions that can encode messages using this cipher (these functions...

  • The first script is validate.sh. This is a simple form validation script that will be used...

    The first script is validate.sh. This is a simple form validation script that will be used to verify the inputs given. Normally, this would be done to validate input from a website or another program before entry into a database or other record storage. In this case, we will keep it simple and only focus on the input validation step. In particular, the script should prompt the user for four values: first name, last name, zip code, and email address....

  • please write clearly. thanks Part I. For questions 1-10, use only the sum, product and division...

    please write clearly. thanks Part I. For questions 1-10, use only the sum, product and division rules or a tree diagram to solve the problems. 1. Six different airlines fly from New York to Denver and seven fly from Denver to San Francisco. How many different pairs of airlines can you choose on which to book a grip from New York to San Francisco via Denver? 2. How many bit strings of length ten both begin and end with a...

  • Hey guys I need help with this assignment. However it contains 7 sub-problems to solve but I figured only 4 of them can...

    Hey guys I need help with this assignment. However it contains 7 sub-problems to solve but I figured only 4 of them can be solved in one post so I posted the other on another question so please check them out as well :) Here is the questions in this assignment: Note: Two helper functions Some of the testing codes for the functions in this assignment makes use of the print_dict in_key_order (a dict) function which prints dictionary keyvalue pairs...

  • Write following queries given these schemas: (FK stands for Foreign Key) Customer = {customerID, firstName, lastName,...

    Write following queries given these schemas: (FK stands for Foreign Key) Customer = {customerID, firstName, lastName, income, birthDate} Account = {accNumber, type, balance, branchNumberFK-Branch} Owns = {customerIDFK-Customer, accNumberFK-Account} Transactions = {transNumber, accNumberFK-Account, amount} Employee = {sin, firstName, lastName, salary, branchNumberFK-Branch} Branch = {branchNumber, branchName, managerSINFK-Employee, budget} Focus should be on using: Order By to sort data Set Operators to union/intersect multiple tables Join Operator to join multiple tables Aggregations and Group By to aggregate data Subqueries 3.15 Customer ID, first...

  • 1. The access code for a car's security system consists of four digits. be zero and...

    1. The access code for a car's security system consists of four digits. be zero and the last digit must be even. How many different codes are consists of four digits. The first digit cannot many different codes are available? 2. Decide whether each object is a permutation or a combination a) a telephone number b) a social security number c) a hand of cards in poker d) a committee of politicians e) the "combination" on a student gym locker...

  • please use dia to draw the e-r diagram to create Entity - Relationship Diagrams then use MS access This project requires you to create a database design. Your design will be documented in a set o...

    please use dia to draw the e-r diagram to create Entity - Relationship Diagrams then use MS access This project requires you to create a database design. Your design will be documented in a set of Entity-Relationship Crow's Foot diagrams using the representation as shown in the lecture materials. Draw a set of Entity-Relationship diagrams to model the following scenario. The Maggs Realty Company wants to track the Sales Offices that they have across all of Ontario They are interested...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT