Advice please

Have you perhaps considered using relevant=true/false on the
model to make this trigger automatically? i.e. the bits that ask
you for credit card details become relevant = true only when the
user picks visa or master --

>>>>> "Robert" == Robert Bateman <bobbateman@sequoiallc.com> writes:
    Robert> I've set up a form that uses several <select1>
    Robert> entries within the form to ask the user for
    Robert> information.  One area I'm having a "problem"
    Robert> wrapping my brain around is the concept of "data
    Robert> validation" on the client.  Let me give an example:
    Robert> 
    Robert> I'm working on an order entry system.  In the schema
    Robert> is the standard credit card stuff so the user can pay
    Robert> COD.  Because the COD is "optional", I've set my
    Robert> schema to have minOccurs="0" maxOccurs="1".  All is
    Robert> well here so far.
    Robert> 
    Robert> I've set up "duplicate" fields for each field
    Robert> involved in the COD in a temp <instance> along with a
    Robert> <boolean> PayCODNow.  My form triggers relevant for
    Robert> the COD fields on a true() in PayCODNow.  Each field
    Robert> displays as expected when PayCODNow is true.
    Robert> 
    Robert> One field I input is a credit card type.  It's a
    Robert> <select1> with values of "Choose One...", "Visa" and
    Robert> "Master Card".  For my purposes, I want to have
    Robert> "Choose One..." trigger the .invalid CSS so the card
    Robert> type stays red as my CSS tells it to be when invalid.
    Robert> The problem I'm having is that selecting "Choose
    Robert> One..." causes a value to be set in my bound instance
    Robert> field (empty in this case.)  This is obviously
    Robert> invalid.
    Robert> 
    Robert> What I'd like to do is set an action on
    Robert> xforms-value-changed on the <select1> for the form
    Robert> type and invalidate the card type if the user hasn't
    Robert> choosen a value *other* than "Choose one..."  But I
    Robert> haven't yet figured out how to fire an event that
    Robert> invalidates the card type field.  I had thought I
    Robert> might use a calculate="xforms:if()" but I don't see
    Robert> firing an event from inside there.
    Robert> 
    Robert> 
    Robert> Since all of you are so knowlegable, can anyone point
    Robert> me to how I can accomplish what I want to do?  I'd
    Robert> like to do this *without* resorting to script *if*
    Robert> possible.
    Robert> 
    Robert> Thanks much!
    Robert> 
    Robert> Bob

-- 
Best Regards,
--raman
------------------------------------------------------------
T. V. Raman:  PhD (Cornell University)
IBM Research: Human Language Technologies
Architect:    Conversational And Multimodal WWW Standards
Phone:        1 (408) 927 2608   T-Line 457-2608
Fax:        1 (408) 927 3012     Cell: 1 650 799 5724
Email:        tvraman@us.ibm.com
WWW:      http://almaden.ibm.com/u/tvraman
AIM:      TVRaman
GPG:          http://www.almaden.ibm.com/cs/people/tvraman/raman-almaden.asc
Snail:        IBM Almaden Research Center,
              650 Harry Road
              San Jose 95120

Received on Monday, 29 March 2004 20:14:03 UTC