Project Specification

Client Side Data Entry Validation for Inter-Dependent Fields

This project specification explains the purpose, contents, schedule and production concerns for Jack McCrorey's Electronic Document Project.

Product or Subject

The focus of this project is to create client side forms/programs/scripts that include the ability to verify that data is entered correctly prior to sending it back to the Server. The main focus is on inter-dependent fields where the value entered for one field effects the valid entries for another. This is a common situation with applications that involve complex data entry. It is often referred to as Business Rules.

Consider this example. Field1 has valid entries of "A" and "B" while Field2 has valid entries 1-9. However, if Field1 is an "A" then Field2 must be between 1 and 7; but if Field1 is "B" then Field2 can be any value between 4 and 9. These are inter-dependent fields. The application accepting the User input will reject it if it does not meet this criteria. The goal is to verify the "Rules" at the client side prior to sending the data to the Server application.

The alternative of validating the data on the Server side and returning errors is not acceptable in complex applications. Users want to know immediately if the data they enter is valid.

Users

There are 2 types of Users for this project:

Data Entry Users - This is the person who will actually enter the data. I will develop several mock screens that requires complex data entry with several inter-dependencies between fields. I have talked with people at my company about their data entry needs and will model this into the mock application.

Web Application Developers - This is the other class of User for this project. These are folks who will re-use the scripts/programs that I develop in building the mock applications. I will provide extensive comments as a guide in re-using the components built. (It is not a goal to automate the re-use process.)

System Objectives

The project objective is to investigate and build components that make it easier to achieve complex data entry in a Web Based application. The focus is on the User interface as seen via the Browser. These components will be built into several mock applications to demonstrate their functionality. Another project objective is to develop the components in such a way that they can be easily modified and re-used in other Web Based applications. They will essentially be building blocks for others to use.

Revisions will be constantly made until the final deadline is reached! In a larger sense, the building blocks will be valid until new technologies render them obsolete.

Type of System

The system simulates a data entry application built as a Web application that presents the user interface via standard Browsers. There is no actual database involved. The client side components may use some or all of the technologies listed in the "Design" section of this document.

Tasks

The main User task is complex data entry of inter-dependent fields. The system must help the User to correctly enter the data required by the application. This includes:

The project will create re-usable scripts/programs that can be used by web application developers to validate data entry on the client side. There will be several examples of ways to validate the data and pros and cons of each. Complex inter-dependent relationships will be modeled that effect at least 2 fields.

Mock applications will be developed to showcase the various data validation methods.

Design

This is an individual project which means that I will be responsible for all tasks.

Client side data validation will be accomplished with one or more of the following:

Distribution

The project will be available on www.wpi.edu. (A link will be provided as soon as development begins) Anyone may re-use the components created for this project. It will also be available to my co-workers.

Jack's Home Page Project Main Page Next Module

Send questions and comments to: Jack McCrorey