2017-08-15 69 views
-1

我有一個整數字段,當我輸入一個非整數值(讓我們說一個符號的),反饋面板應該自動觸發默認消息,但它不工作,我有通過方法error()在窗體的onError方法中調用它。Wicket:自動字段驗證不起作用

這是文本框,我使用:

RequiredTextField<Integer> intField = new RequiredTextField<>  ("intValue", integerValue,Integer.class); 

這是我簡單FeedBackPanel:

fragment.add(new FeedbackPanel("feedback")); 

它只能當我調用方法錯誤()的方法的onError()的形成。

+0

請考慮爲可讀性應用一些markdown:https://stackoverflow.com/editing-help#code –

+0

提供的信息不足以告訴您問題在哪裏。請提供更多與此字段及其表單相關的代碼。 –

+0

我想我找到了問題的原因,問題的原因是在我使用的模型中,我在圖書館中使用了名爲HibernateModel的自定義模型,這是由我們公司創建的,labrary的名稱是wicketautodao,在這裏是鏈接https://sourceforge.net/projects/wicket-autodao/ –

回答

0

您能告訴我們您是如何創建您使用的表格型號?據我瞭解,你會想要綁定一個模型到你的領域。我最好的猜測是你的模型沒有屬性「intValue」。

您可能想要(重新)訪問Wicket Wiki "More on Models"

+0

尼古拉斯我不這麼認爲,因爲如果模型沒有屬性「intValue」它會拋出異常 –

0

我不知道你是如何設置你的模型。一旦你添加了RequiredTextField它不會讓你變空,因爲你設置了Integer類型,它將不允許輸入字符。

我嘗試了一些工作完美並驗證的代碼片段。

HomePage.html

<html xmlns:wicket="http://wicket.apache.org"> 
<body> 
<form wicket:id="someForm"> 
<div wicket:id="feedback"></div> 
<input type="text" wicket:id="requiredText"> 
<input type="submit" value="submit"> 
</form> 
</body> 
</html> 

HomePage.Java

public class HomePage extends WebPage { 
    private static final long serialVersionUID = 1L; 

    public HomePage(final PageParameters parameters) { 
     super(parameters); 

     Form form = new Form("someForm"); 
     form.add(new FeedbackPanel("feedback")); 

     IModel integerValue= Model.of(""); 
     form.add(new RequiredTextField("requiredText",integerValue,Integer.class)); 
     add(form); 
    } 

} 

請讓我回到我在此櫃面如果你需要什麼。

+0

謝謝soorapadman,我會嘗試使用這個例子 –