Table-Driven Form Validation Framework for Web Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing form validation systems for web applications are complex and lack reusability, as client-side validation code is typically written for specific situations and not adaptable across different clients or servers, making it difficult to apply validation rules consistently across various locales and scenarios.

Innovation Solution

A validation framework that includes a validation resource and a validation group web control, which generates client validation script and uses an event table to specify validation rules, allowing for reusable validation logic and error handling across different clients and servers, enabling globalization and customization of validation rules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If client-side validation code is written for a particular situation, then validation accuracy for that specific case is improved, but reusability across different clients or servers deteriorates

Engineering Contradiction:
Improvevalidation accuracyVSAvoidreusability
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal validation framework where validation rules are defined in a centralized configuration file that can be reused across multiple clients and servers. The validation control generates client-side validation scripts based on these centralized rules, allowing the same validation logic to be applied universally across different web applications and locales without rewriting code for each specific case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent segments validation logic into separate, manageable components: a centralized configuration file containing validation rules, a validation control that processes these rules, and generated client-side validation scripts. This segmentation allows validation rules to be defined once and reused across multiple contexts, improving both accuracy and reusability simultaneously.

Inventive Principle:
Principle #1Segmentation

2Reliability

If numerous validation rules are applied to entered data, then validation thoroughness is improved, but code complexity deteriorates

Engineering Contradiction:
Improvevalidation thoroughnessVSAvoidcode complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts validation rules from complex embedded code and places them in a separate centralized configuration file. This extraction allows numerous validation rules to be applied thoroughly while keeping the main application code simple and manageable. The validation control reads and processes these external rules, separating validation logic from business logic.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a validation control as an intermediary component that mediates between the centralized configuration file and the client-side validation execution. This intermediary simplifies the overall system architecture by providing a single point of management for numerous validation rules, making the system easier to maintain while ensuring thorough validation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If validation code is customized for specific situations, then validation precision for that situation is improved, but development time for multiple situations deteriorates

Engineering Contradiction:
Improvevalidation precisionVSAvoiddevelopment time
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent creates a universal validation framework where a single set of validation rules in a centralized configuration file can be applied across multiple web applications and locales. This universality maintains validation precision through configurable rules while dramatically reducing development time, as validation logic does not need to be rewritten for each new situation.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent implements preliminary action by pre-defining validation rules in a centralized configuration file that can be reused across multiple projects. This preliminary setup eliminates the need to write validation code from scratch for each new validation scenario, reducing development time while maintaining precision through the configurable rule set.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If a centralized validation framework is implemented, then reusability and globalization are improved, but initial system complexity deteriorates

Engineering Contradiction:
ImprovereusabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the validation system into distinct, manageable components: a centralized configuration file for rules, a validation control for processing, and generated client-side scripts for execution. This segmentation makes the overall system easier to understand and maintain despite the added reusability and globalization capabilities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8156420B2Form validation with table driven error handling
Publication Date: 2012.04.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8156420B2 patent drawing
  • US8156420B2 patent drawing
  • US8156420B2 patent drawing

AI summary

Various embodiments provide a validation framework to validate whether data entered in a web application is valid. The framework includes a validation resource that contains a validation rule for the web application. The framework also includes a validation group web control that can generate client validation script that is useable by a client to validate whether the entered data is valid. In at least some embodiments, an event table that specifies the validation rules is used to present an error message when the entered data is not valid.