我正在使用Form組件編輯對象中的值。我已經使用LoadableDetachableModel將對象映射到窗體,以便對象中的值顯示在窗體上並自動應用更新。對象映射表單組件的Wicket字符串驗證器
final Form<Withdrawal> form = new Form<Withdrawal>("form",
new CompoundPropertyModel<Withdrawal>(ldm)) {
.... }
但是,我添加驗證器來形成組件如StringValidator到文本字段的問題。我有一個「註釋」字段(撤銷對象中的一個字段)。
理想我想將其添加爲:
TextField<Withdrawal> tf_comments = new TextField<Withdrawal>("comment");
tf_comments.add(new StringValidator.MaximumLengthValidator(255));
form.add(tf_comments);
但因爲我不能StringValidators添加到它,因爲StringValidator
爲TextField<Withdrawal>
沒有定義。所以我正在使用下面的內容並獲取該字段的值並將其設置爲手動對象。
TextField<String> tf_comments = new TextField<String>("comment");
tf_comments.add(new StringValidator.MaximumLengthValidator(255));
form.add(tf_comments);
有沒有辦法直接上添加驗證到TextField<Withdrawal>
?
謝謝。
我正在使用Wicket 1.4。我收到以下錯誤 **發現添加沒有合適的方法(StringValidator) 方法FormComponent.add(IValidator)不適用 (實際參數StringValidator無法通過方法調用轉換而轉換成IValidator )** –
Jay
能不要說你的設置出了什麼問題:我只是用wicket 1.5快速地在jetty上測試了這個例子,它正在工作。你能否粘貼更多的代碼(e.x.提款類)pastebin? – mrak
您在標籤中指定了Wicket 1.5,所以我測試了此版本。 Wicket 1.4僅使用TextField tf_comments = new TextField (「comment」)。這應該做的伎倆。 順便說一句:是否有一個特別的原因,你正在使用過時的檢票口版本? –
mrak