- From: <Nick_Van_den_Bleeken@inventivedesigners.com>
- Date: Wed, 14 Feb 2007 09:30:55 +0100
- To: www-forms@w3.org
Hi, We have the following use case, and I was wondering if my conclusion is correct (that we no longer support this use case after issuing E31 http://www.w3.org/2006/03/REC-xforms-20060314-errata.html#E31) Use Case: The user wants to use a switch styled as a Tab pane and wants to indicate on the 'tab selection button' if there are 'problems' on that tab (req1). He also wants to show a list of problems when the user hits a validate trigger(req2). How we implemented req2: Add an extra instance with messages, and an attribute on the message element to indicate if the message is applicable. Attach listeners to the controls for xforms-valid and xforms-invalid events that change the attribute to indicate if the message is applicable. Use an xforms:repeat to show all applicable messages when the user hits the validate button. How we implemented req1: We can use the applicable attributes of the messages we needed for req2 and use those on a ref of group that shows/hide a problem icon on the 'tab selection button'. At first this solution seems to work, but because : 1) due to 'When a form control becomes non-relevant, it must receive event xforms-disabled and then the XForms action handlers that are listening for events on the non-relevant form control must be disabled.' the event listeners that update the applicable attribute are disabled for all not selected cases, even if they are placed outside the non-selected case. 2) When there is an input on case 'b' which has a cosntraint that uses a value specified in another case let say 'a' 3) Fill in case 'a', then fill in case 'b' so that both cases are valid. Go back to case 'a' and change the value of the control so that the constraint of one of the inputs on case 'b' will fail --> The listener that changes the applicabilty won't be triggered until the user goes to case 'b' This may seem as a border case, and a badly designed form, but if you are trying to fill in big real life forms, this 'border case' can not be circumvented. Does anyone has a solution that satisfies the two requierements of this use case and works in standard XForms? Thanks in advance, Nick Van den Bleeken - Research & Development Inventive Designers Phone: +32 - 3 - 8210170 Fax: +32 - 3 - 8210171 Email: Nick_Van_den_Bleeken@inventivedesigners.com -------------------------------------------------- Inventive Designers' Email Disclaimer: http://www.inventivedesigners.com/email-disclaimer
Received on Wednesday, 14 February 2007 08:31:05 UTC