2010-11-23 12 views
0

Orbeon xformにデータベースサービスとアクションによって設定されたいくつかのフィールドがあります。これらのフィールドには制約があります(例フィールドはゼロに等しくなければなりません)。ボタンのアクティブ化によってアクションがトリガーされると、データベースサービスのこれらのフィールドにデータが入力されます。Orbeon xforms:アクションによって入力されたフィールドの制約検証を強制的に行う方法はありますか?

下部に制約エラーメッセージが表示されますが、アクションがトリガーされた後にフィールドが強調表示されません。入力してフィールドを終了すると、フィールドが強調表示されます。

フォーム上のすべてのフィールドを記入するのを期待しているときに、この動作が意味をなさないことが理解できます。しかし、いくつかのフィールドには自動的に入力または計算されることがあります。

ユーザーがフィールドを入力しなくても制約の検証を強制する方法はありますか?実際には、ユーザーがしなければならないように見えるのは、フィールドを入力し、別のフィールドを入力してこのハイライトを表示させることです。

私は、制約に別のフィールドの値を含めることを試みました。これは、読み取り専用と可視性の検証に有効です。他のフィールドの値が変更されると、これらの検証は再評価されます。しかし、Constraintは再評価されていないようです。あるいは、少なくともフィールドハイライトを生成するメソッドは再評価されません。

答えて

1

(私はこれがあなたがフォームビルダで作成したフォームに関連していることを前提としています。)

コントロールは、フィールドの横にエラーの要約の両方で、サービスが呼び出されたときに再検証が、エラー表示されていますユーザーがフィールドにアクセスした後にのみ表示されます。 fr-visit-allを送信し、リフレッシュを行い、fr-updateを送信して、programmatically tell the error summary to consider all the controls visitedに送信することができます。 (Form Builderでこれを使用する際に問題がある場合はお知らせください。この回答にこの情報を追加できます)

関連する問題