I have read the FAQs regarding validation options, specifically column and row. There seems to be a difference of opinion about the ability to restrict navigation from columns containing invalid values. Many developers embracing your tools to satifify customer expectations have expressed the need to be able to implement this functionality. Is this a technical issue yet to be resolved or a concious decision not to implement this funtionality as it is not the recommended approach ? I am sure than many of us would appreciate knowing what your visions are regarding this issue. |
Hi Mike, I think issues around this topic fall under one of the following categories:
My personal opinion is that forcing users to not leave a field is not the best way to build a web application. It is a relic of an old paradigm (client/server applications). There is almost always a better, nicer way to enforce rules. Very few, if any, large Formspider implementations use this approach (that I know of). We certainly don't want to force people to build applications one way. So if there is an issue around this, we'll be happy to fix it. However, Formspider developers should keep in mind that, if they do such a validation and not allow the user to leave a field, this will require a roundtrip back to the server. If you do this field by field, the user experience will suffer. There is very little, if anything at all, we can do about this. We can't change the law of physics. Even if you enforce users to stay in a field via a client side validation, this client side validation is by definition not secure, because it is a client side validation. So you cannot rely on it. You will have to revalidate the entry before you process it anyway. Otherwise, it's basically not a validation but a security hole. So why bother with keeping people stuck in the first place? :-) This is what worries me most I guess. Developers writing client side validation routines that perform well but don't have corresponding server side validation. Hope this helps. Kind Regards, |
Well Mike, the "strict validation" topic is an old one, see my "input" (3rd msg) in http://osqa.theformspider.com/questions/2770/problem-validating-a-column-using-valuechanged-and-focuslost-event I can see the validity of Yalims point: decent mandatory field/or record level validation requires a round trip to the server, as we can't rely on client side validation. Something that one would definitely like to avoid in a public WebShop or other high usercount + low bandwidth (or expensive) network (internet). But this is only necessary for a modified field e.g. some kind of user transaction. I'd claim that the majority of current OracleForms deployment environments are inhouse, on highspeed LANs where server round trips cost nothing. I'd like to have both options: old, IBM CICS style page level validation when someone presses the final OK Button (this is what Yalim advocates) and high quality, Forms type instant and mandatory field level validation. The former provides simple design and is bandwidth conserving (as it was since the early page level validating systems) at the cost of comfort for the user (having to revisit each field he has entered invalid data into), while the latter incurs more traffic but instructs the user in a much more timely manner about data entry errors she's made. One the tiny screen of a mobile device I'd definitely want page level validation only. However on a mature inhouse data entry screen 32" wide, sporting many dozen items I certainly want Forms-style mandartory field level validation upon focus change. Yalim, in FS1.9 you gave us the fantastic stateful db connection option (e.g. we can decide if and where we want to go stateful) maybe you can add a similar "switch" for forced validation? And while implementing it you could even surpass Forms by firing the validation check on ANY user action, be it keyboard or mouse that will cause the item to loose focus! |