Client Side Data Entry Validation for Inter-Dependent Fields
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:
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