ウィケット1.5を使用しています。ユーザーが金額を入力するテキストフィールドと、その「金額」をウィケットクラスでさらに目的で使用しています。金額フィールドを検証する必要があります
final TextField<Integer> amount = new TextField<Integer>("amount",Integer.class);
上記のように使用すると、検証は完了しますが、クラスで金額の値を取得できません検証する他の方法があるかどうか
よろしくシャラス
ウィケット1.5を使用しています。ユーザーが金額を入力するテキストフィールドと、その「金額」をウィケットクラスでさらに目的で使用しています。金額フィールドを検証する必要があります
final TextField<Integer> amount = new TextField<Integer>("amount",Integer.class);
上記のように使用すると、検証は完了しますが、クラスで金額の値を取得できません検証する他の方法があるかどうか
よろしくシャラス
ここで何が問題なのかわかりませんが、NumberTextFieldはあなたの答えによって可能です。
JavaDoc から
構成された {@link #setMinimum(Number) min} および {@link #setMaximum(Number) max} 属性に対して入力を自動的に検証します。それらのいずれかが
null
{@link Double#MIN_VALUE} および {@link Double#MAX_VALUE} である場合、敬意を持って使用されます。
onSubmitメソッドでフォームのテキストフィールドを取得している場合は、次のようにして値をチェックします。
textfield.getModelObject();
それをあなたが必要とするものと比較し、それが一致しない場合はフィードバックエラーを送信します、あなたはどう思いますか?
通常、Wicket はモデル (getter+setter をオブジェクトとして) をコンポーネントに渡すことを期待し、それを使用して変換結果を格納します。
モデルを使用したくない場合は、 textField.getConvertedInput() を使用して値を取得できるはずです。ただし、これを行うことはむしろ例外です。モデルが自動化して、とにかくその値をその宛先にコピーすることになるからです。
はい、テキスト フィールドの入力を検証する方法がもう 1 つあります。TextField コンポーネントは、ウィケット検証ルールを追加できる add() メソッドを提供します。たとえば、ウィケットの IValidator インターフェイスを実装するカスタム ルールを作成できます。
ここでさまざまな組み込みウィケットバリデーターを見つけることができます: http://wicket.apache.org/apidocs/1.4/org/apache/wicket/validation/validator/package-summary.html
ユーザーがテキスト フィールドに入力した値の取得に関する質問に答えるには、このテキスト フィールドが任意のフォームにある場合、このフォームの onSubmit を呼び出して値を取得できるはずです。
amount.getModelObjet();
これがあなたの質問に答えることを願っています。