- From: Nick Van den Bleeken <Nick_Van_den_Bleeken@inventivegroup.com>
- Date: Mon, 22 Jun 2009 11:20:32 +0200
- To: Manfred Staudinger <manfred.staudinger@gmail.com>, "www-forms@w3.org" <www-forms@w3.org>
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: </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: </xf:label>
> </xf:input>
> <xf:input ref="im:objektkategorie/im:vermarktungsart/@MIETE_PACHT">
> <xf:label>Vermietung (Miete, Pacht): </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 09:35:17 UTC