Ittrium is a software company that makes high quality and function rich websites that are customized to meet the specific needs of our clients. We needed a way to deliver customized software that could be consistently upgraded so that we could keep our clients operating on the latest technology that we provide. Manually upgrading custom web sites was time consuming and expensive for all parties involved so we decided there must be a better way.
The result is freeform.io. Read on or contact us to learn more.
At the heart of freeform.io lie individual components called gizmos. Each gizmo has a simple job which is to validate incoming data perfectly and format it for presentation when finished. For instance, a phone number requires 10 digits and possibly more if an extension is included.
Give it a try by entering your phone number. There is no need to bother with formatting since formatting will be handled by the gizmo. Each keystrokes is validated and the gizmo will indicate when your phone number is valid by changing it's label color from red to black. When finished, your phone number will be formatted for display as you tab out of the phone number field to interact with the next field or button on a form.
To improve data collection requirements of an application, gizmos can be configured as optional or required. When required, a gizmo highlights itself to indicate that date is required in that field. Additionally, gizmos can be marked as being conditionally required and required only when other conditions exists with other gizmos in the same application.
In this example, you'll find two gizmos for collecting a first name and date of birth. The first name is always required, but the date of birth is only required if the name that is entered is George.
Gizmos can be configured with a default value when first initialized and also from a value supplied by another gizmo within your application. A common scenario is to initialize a gizmo with the value from a gizmo whose values came from the results of a database query or elsewhere.
In this example, we've included two gizmos. The first gizmo provides a source value for the second gizmo that includes a set of options presented as a check box group. You can effect the value of the check box group by entering a source value such as the number 1, the word "one", a list of semicolon delimited values such as 1;2;3 or a JSON array such as [1,3,4]