ここに問題があります。次の方法で送信する前にフォームを検証する必要があります。ユーザーは「保存」ボタンをクリックする必要があります。「送信」をクリックすると「保存してください提出する前に "。orbeon xformsで独自の検証ルールを作成するにはどうすればよいですか?
まず私は、セーブ・インジケータのような形にシステムフィールドを追加すること
<xforms:bind id="isSaved-bind" nodeset="isSaved"
name="isSaved" type="xforms:string" constraint="number(.)=1" required="true()"/>
が好きで、いつ「保存」ボタンをbeeingてアクションに
<xforms:setvalue ref="xxforms:instance('fr-form-instance')/person/isSaved">1</xforms:setvalue>
を追加するために制約を追加することができていると考えクリックした
しかし、問題は、そこに新しいコードを挿入するために既存のフォームをすべて書き直す必要があることです。
「isSaved」のようなグローバル変数を作成し、送信前にすべてのフォームでチェックし、フォームを保存しなかった場合にエラーメッセージを表示する可能性はありますか?
他にも見えないことがありますか?
すべての回答に感謝します。
私はあなたが状態処理を探していると思います。しかし、提出する前にフォームを保存する必要があるのはなぜですか? XFormsモデルは、私がここでも言及したように、すでに最新のものでなければなりません:http://stackoverflow.com/questions/9737194/how-to-save-userentent-values-in-xforms-textbox/9737969#9737969 – grtjn
1つのフォームでこれを行う方法はわかっているようですが、コードを複製することなくその機能を多くのフォームに取り込む方法が必要です。それは正しい?また、Form Builderを使用しているのか、XFormsを「手作業で」記述していますか? – avernet
avernet、そうです、私はForm Builderを使用しています。あなたが提案したのと同じように、重複したコードは必要ありません。 –