Real User Monitoring

  • Tour
  • Compare
  • Download
  • Support
  • Resources
    • Blog
    • Videos
  • Contact Us

Oracle and HTML5 Forms: Validation is Another Form of Early Error-catching

Posted by Cameron Laird on July 11, 2012 Leave a Comment

Errors are more cheaply caught early, than late: that’s a well-known slogan from engineering folklore. Senior Oracle ADF Developer and frequent blogger Mahmoud ElSayed illustrates a concrete implementation of this principle in combination with the power of late binding in a recent posting he titles, “Add Validation at Runtime in ADF“.

A little background helps to understand the few words he writes there. ADF is the initialism for Application Development Framework, a Java EE (Enterprise Edition) toolkit from Oracle. ADF helps “greatly reduce the effort” of development of enterprise-class applications. ElSayed’s little example, coded in Groovy, provides a validation whose limit he determines at run-time, with a user diagnostic also assigned at run-time.

This is powerful stuff for teams that treat validation as rather a static or passive exercise: it’s immensely helpful to users to know sooner, rather than later, that values they’ve entered prevent them from moving forward. In our shop, we emphasize “intelligent user interfaces”; an important part of “intelligence” is to ask users pertinent questions. We don’t demand information that we already have, nor information we don’t need. Here’s a mundane Operations-related example: when configuring a dashboard display, we don’t offer nodes that a particular operator is blocked from seeing because of a security rule. To do so would only add confusion and frustration.

As straightforward as this might seem, it’s worth a few explicit words, because so many programmers seem to regard validation operations in a static way. If ElSayed had taken another minute, he could have further strengthened his example by factoring out the redundancy between his validation condition, and its diagnostic: while it’s important that the latter mention in human-readable words the condition violated, he missed a chance to make the salary limit a variable, rather than a duplicated literal constant.

HTML5, too

It’s a particularly apt time to think about improving validation of user entries because HTML5 gives so much in this regard. HTML5 is a rather bulky standard, with many loosely-related parts; one important area of improvement is in forms management. Think, for a moment, about the Web equivalent of ElSayed’s example of entry of an employee salary. Before HTML5, the most natural way to code this in a Web application would be with a simple <input type = "text" ... widget. It was often tempting to leave all validation to the server. HTML5, in contrast, declares a wealth of new types, including <input type = "range" ..., so that users see a standardized, well-defined numeric entry limited between a minimum and maximum. With a little JavaScript, the validation can even be adjusted dynamically, purely during the client’s run-time. This makes programming for the Web a far richer experience than it once was!

The validation that HTML5 builds in is not widely understood yet. The new pattern attribute, for instance, provides a regular-expressionfacility that few Web programmers use. The point for today is simply this, though:

  • be on the lookout in your development and operations for ways to make sure data, especially user entries, are correct.
  • Catch any errors as early as possible.
  • Diagnose those errors in words humans understand.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Articles

  • Apple iOS Encryption
  • Java Bytecode Instrumentation: An Introduction
  • APM Transaction Topology Mapping
  • Enterprise Application Performance and Real User Monitoring
  • Software Application Performance

Quick Links

  • Blog
  • Community
  • Support
  • Walkthrough Videos

Company

  • About Correlsense
  • Contact Us
  • Correlsense.com
  • Privacy Policy

Copyright © Correlsense Ltd. www.correlsense.com
All rights reserved www.real-user-monitoring.com