2012-02-03 20 views
5

「エラーメッセージ」XPage(ネイティブ)コントロールを使用して、検証エラーをユーザーに表示しています。できます。検証は、必要に応じてフィールドを設定し、フィールドエラーメッセージを入力して行います。特にない。検証メッセージの順序を設定する方法は?

エラーメッセージは、フォームに表示されている順序と同じ順序で設定する必要があります。これは可能ですか?

私はカスタムバリデーター(Java)を作成し、すべてのフォームバリデーションを特定の順序で実行していると思います(ちょうどValidationインターフェースをテストしましたが、IDはまだ使用されていません)。

+0

エラーメッセージはどのような順序でデフォルトとして表示されますか?私はそれらがソースコードにリストされているのと同じ順序で表示されることを前提としていました(ただし、CSSが適用された後に表示される順序と同じではないことがわかります) –

+0

ソースと同じ。同様に私はそれをテストしていない。しかし、私はそれがバリデータの前にコンバーターを実行することを期待しているので、コンバーターエラーを伴うコントロールが最初に現れることがあります。チェックするもう1つの場所はJavaクラスです。それが実行されるので、コントロールの順序は、ソースペインに表示される順序ではなく、コントロールが作成された順序になる可能性があります。その場合、Javaクラスを並べ替えると、エラーメッセージの順序が変わる可能性があります。 –

+0

@Paul - 実際にはフィールドのコンバータは、値が検証される直前に実行されます。だから、それはまだ木の中に現れる順番です。したがって、コンポーネントツリーに2つのフィールドがあり、1つは直後にあり、フィールド1は検証で失敗し、変換でfield2が失敗すると、バリデーターエラーと変換エラーが表示されます。 –

答えて

0

フォームの上または送信するために押したボタンの横に、検証が失敗したコントロールの横にエラーが表示される場合は、古い(解決されていない)引数があります。私は失敗したコントロールの隣に置く傾向があり、ボタンの隣に1つのメッセージが表示される傾向があります。「入力を処理できず、エラーメッセージが表示されたフィールドを修正できませんでした。その後、シーケンスはもう問題ではありません。 100%確実にするには、サマリーコントロールの代わりに、それぞれのコントロールを隣り合わせに使用します。

どういう意味でいいのでしょうか?エラーメッセージの制御で、失敗したコントロールのcssを変更できるようになりました。

+0

このテクニックを使用して、失敗したコントロールのスタイルを変更することができます。http://dontpanic82.blogspot.com/2011/07/xpages-styling-invalid-field.html –

+0

また、「強化された」エラーメッセージコントロールを投稿しました。エラーメッセージをクリックして、無効なフィールドにフォーカスを設定することができます。 http://dontpanic82.blogspot.com/2011/07/custom-control-for-enhanced-validation.html –

+0

私がリンクしているエラーメッセージのカスタムコントロールには、コントロールがある順番でエラーメッセージが表示されるはずですページ。 –

0

検証はコンポーネントツリー内にあるため、1つずつ実行されます。どのように表示したいかによって、コンポーネントを移動してCSSでスタイルを設定することができます。または、メッセージボックス内の要約文の順序を実際に移動したい場合は、JSを使用してそれらを移動し、ULとしてレンダリングすると信じています。同じバリデータがコンポーネントツリーの順番ですべてのコンポーネントに対して起動されるため、1つのバリデータを持つだけでは実際には機能しません。

関連する問題