When I was working on cf_sebForm, I knew that I wanted it to work on any site. That meant that I had to be able to use the same code for different output on different sites. At first all of my forms were tabular, with code like the following:
Although I briefly touched on validation in cf_sebForm, it is certainly a topic that deserves more attention. This is especially true in light of Ben Nadel's great entry on data type validation versus data value validation (and his final thoughts on the same topic). It is an important distinction and I want to cover how cf_sebForm deals with the challenge.
While working on my custom tag set, I discovered that I often have attributes that will be the same across a whole site. These attributes need to change from site to site.
For example, I have a "skin" attribute to skin the output of my custom tags. Every tag in a site should use the same skin. If I copy some code from one site to another, it should automatically use the skin of the site to which it is copied.
All told, this represented a fair bit of tedium in my work life. I decided that there had to be a better way. I looked at solutions that existed already in the ColdFusion universe, but I couldn't find anything that I liked. Then I came across some custom tags for forms that I client of mine built. Although his implementation didn't work as I wanted, I knew that he was on the right path.
Before I can effectively cover anything else in cf_sebForm, I have to cover how to get data to the fields. Fortunately, this by itself will make cf_sebForm somewhat useful.
The cf_sebForm tag set creates accessible forms that provide both client and server side validation. They can interact with CFCs without breaking encapsulation. The forms are skinnable and completely customizable. It also facilitates using the same code as both an add and an edit form.