Asynchronous Server-Side Form Validation Without Page Refresh

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing validation process for user-entered data in web forms requires a page refresh, which can be time-consuming due to the need for an HTTP request and response round trip between the web browser and server, especially when large images are involved, and not all validation can be performed on the client side without inducing delays.

Innovation Solution

Implementing server-side validation by including special directives in the web page code that allow the web browser to send user-input data for validation asynchronously before the submit button is activated, using JavaScript instructions generated by the server, allowing immediate feedback to the user without a full page refresh, leveraging JavaServer Faces (JSF) tags to encapsulate UI and validation criteria, and using the XMLHttpRequest object for data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If server-side validation is performed using traditional HTTP request-response cycle, then validation accuracy is improved, but response time increases due to page refresh requirement

Engineering Contradiction:
Improvevalidation accuracyVSAvoidresponse time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the validation process from the main page rendering cycle. Validation requests are handled separately through asynchronous HTTP requests, allowing the page to render immediately while validation occurs in the background. This separates the critical path (page display) from the non-critical path (validation), resolving the contradiction between accurate server-side validation and fast response time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs validation actions preliminarily by checking data validity before the user completes form submission. The system validates individual fields as the user enters data, providing immediate feedback without waiting for the complete form submission cycle. This preliminary validation prevents invalid data from reaching server processing, improving both accuracy and response time.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If asynchronous validation requests are sent before submit button activation, then user wait time is reduced, but network traffic increases

Engineering Contradiction:
Improveuser wait timeVSAvoidnetwork traffic
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent applies partial action by sending validation requests for only the currently focused or recently modified form fields, rather than validating the entire form. This selective validation approach reduces unnecessary network traffic while still providing timely feedback to users. The system validates only what is necessary at each moment, avoiding excessive network communication.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If JavaScript instructions are used for client-side validation, then response speed is improved, but validation reliability decreases for complex validations

Engineering Contradiction:
Improveresponse speedVSAvoidvalidation reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent uses asynchronous HTTP requests as an intermediary mechanism between client-side JavaScript and server-side validation logic. The JavaScript initiates validation requests, but the actual validation is performed on the server, ensuring reliability. This intermediary approach combines the speed of client-side initiation with the reliability of server-side processing, resolving the contradiction between response speed and validation reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7788341B1Displaying results of server-side form validations without page refresh
Publication Date: 2010.08.31 ORACLE AMERICAN INC
  • US7788341B1 patent drawing
  • US7788341B1 patent drawing
  • US7788341B1 patent drawing

AI summary

According to one embodiment of the invention, a technique is provided for validating user-entered data at a server without requiring a page refresh at a client. A server sends, toward a client, a page that comprises a form through which the client's user can input data. The page comprises instructions that cause the client to send, toward the server, data that the user inputted into the form. If the server determines that the data do not satisfy the specified criteria, the server sends an invalidity signal toward the client. The page also comprises instructions that cause the client to display a message in response to receiving the signal. In response to the signal, the client modifies the display of the page to include the message. All of the above is accomplished without the client requesting additional pages from the server, and without the server sending additional pages toward the client.