W3C home > Mailing lists > Public > www-forms@w3.org > June 2009

Re: How to ensure that at least one of 2 attributes is set to true

From: Manfred Staudinger <manfred.staudinger@gmail.com>
Date: Mon, 22 Jun 2009 13:03:39 +0200
Message-ID: <a946be3a0906220403w6183a8f4mc099404f54702368@mail.gmail.com>
To: Nick Van den Bleeken <Nick_Van_den_Bleeken@inventivegroup.com>
Cc: "www-forms@w3.org" <www-forms@w3.org>
Hi Nick Van den Bleeken,

Thanks for showing me the use of the constraint attribute! Works fine
and I'll use it in many other cases too.

One minor problem remains: would it be possible to delay the error msg
/ display until later (maybe submit)? Currently I simply have:
			/* Display a red background on all invalid form controls */
			*:invalid {background-color:red;}

Regards,

Manfred Staudinger




On 22/06/2009, Nick Van den Bleeken
<Nick_Van_den_Bleeken@inventivegroup.com> wrote:
> Hi Manfred Staudinger;
>
> You can add additional constraints to your instance data by using the
> constraint[1] attribute on a bind (an invalid instance can't be submitted,
> so this also solves your store problem).
>
> In your example:
> <xf:bind nodeset="im:objektkategorie/im:vermarktungsart/@MIETE_PACHT"
> type="xs:boolean" constraint="boolean-from-string(.) or
> boolean-from-string(../@KAUF)" />
>
> Makes the miete_pacht attribute valid if either miete_pacht or kauf is true.
> To show a warning you can use the alert element on the input that binds to
> miete_pacht attribute.
>
> In your example:
>
> <xf:input ref="im:objektkategorie/im:vermarktungsart/@KAUF">
>   <xf:label>Verkauf: &nbsp;</xf:label>
>   <xf:alert>Either verkauf or Vermietung should be checked</xf:alert>
> </xf:input>
>
>
> Regards,
>
> Nick Van den Bleeken
> R&D Manager
>
> Phone: +32 3 821 01 70
> Office Fax: +32 3 821 01 71
> Nick_Van_den_Bleeken@inventivegroup.com
> http://www.inventivegroup.com
>
> 1:
> http://www.w3.org/MarkUp/Forms/specs/XForms1.1/index-diff.html#model-prop-constraint
>
>
>> -----Original Message-----
>> From: www-forms-request@w3.org [mailto:www-forms-request@w3.org] On
>> Behalf Of Manfred Staudinger
>> Sent: zondag 21 juni 2009 22:10
>> To: www-forms@w3.org
>> Subject: How to ensure that at least one of 2 attributes is set to true
>>
>> Hi List,
>>
>> I'm new to XForms, read a lot but still missing something: I did not
>> find a solution (other than post-processing with xslt). I want to make
>> sure that at least one of the 2 attributes
>> (MIETE_PACHT, KAUF) is set to true (1). If this is not the case, I
>> would like to get a message or even prevent the document from being
>> stored.
>> Here is my instance and the bind:
>> <xf:model>
>>    <xf:instance xmlns="http://www.example.com">
>>    <immobilie>
>>       <objektkategorie>
>>          <vermarktungsart MIETE_PACHT="0" KAUF="0" />
>>       </objektkategorie>
>>    </immobilie>
>>    </xf:instance>
>>
>>    <xf:bind
>> nodeset="im:objektkategorie/im:vermarktungsart/@MIETE_PACHT"
>> type="xs:boolean"  />
>>    <xf:bind nodeset="im:objektkategorie/im:vermarktungsart/@KAUF"
>> type="xs:boolean"  />
>>    <xf:submission id="saveDoc" method="put">
>>       <xf:resource value="concat('test/fertigobjekt',
>> im:verwaltung_techn/ic:objektnr, '.xml')"/>
>>    </xf:submission>
>> </xf:model>
>>
>> Input fields are:
>> <xf:group>
>>    <xf:input ref="im:objektkategorie/im:vermarktungsart/@KAUF">
>>       <xf:label>Verkauf: &nbsp;</xf:label>
>>    </xf:input>
>>    <xf:input ref="im:objektkategorie/im:vermarktungsart/@MIETE_PACHT">
>>       <xf:label>Vermietung (Miete, Pacht): &nbsp;</xf:label>
>>    </xf:input>
>> </xf:group>
>>
>> Remarks about the example above and pointers to sources are also
>> appreciated. Thanks!
>>
>> Manfred Staudinger
>>
>>
>>
>> --
>> This message has been scanned for viruses and
>> dangerous content by MailScanner, and is
>> believed to be clean.
>> --
>>
>
>
> Inventive Designers' Email Disclaimer:
> http://www.inventivedesigners.com/email-disclaimer
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> --
>
>
>
Received on Monday, 22 June 2009 11:04:23 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 10 March 2012 06:22:16 GMT