3

Form コンポーネントを使用して Object の値を編集しています。オブジェクトの値がフォームに表示され、更新が自動的に適用されるように、LoadableDetachableModel を使用してオブジェクトをフォームにマップしました。

final Form<Withdrawal> form = new Form<Withdrawal>("form",
                new CompoundPropertyModel<Withdrawal>(ldm)) {
.... }

ただし、StringValidator などのフォーム コンポーネントにバリデータをテキスト フィールドに追加する際に問題があります。「コメント」フィールド (取消オブジェクトのフィールドの 1 つ) があります。

理想的には、次のように追加したい:

TextField<Withdrawal> tf_comments = new TextField<Withdrawal>("comment");
tf_comments.add( new StringValidator.MaximumLengthValidator(255));
form.add( tf_comments);

StringValidatorしかし、 forTextField<Withdrawal>が定義されていないため、 StringValidators を追加することはできません。そのため、以下を使用してフィールドの値を取得し、手動でオブジェクトに設定しています。

    TextField<String> tf_comments = new TextField<String>("comment");
    tf_comments.add( new StringValidator.MaximumLengthValidator(255));
    form.add(tf_comments);

Validatorを に直接追加する方法はありTextField<Withdrawal>ますか?

ありがとうございました。

4

1 に答える 1