我正在使用自己的驗證,但窗體的視圖(例如,如果某個組件無效)應該在檢票中突出顯示或自定義...處理反饋 - 在apache wicket中使用自定義驗證框架/對象的消息
因此,例如 我有我的檢票形式
<form wicket:id="inputForm">
<p>
<label for="Recipient">Recipient</label>
<input wicket:id="Recipient" id="Recipient" type="text" size="40"/>
</p>
<p>
<label for="Details">Details</label>
<input wicket:id="Details" id="Details" type="text" size="40"/>
</p>
</form>
然後,我有我的Form.java:在這裏,我把我的Java對象「發票」的值,並使用onValidateModelObjects覆蓋檢票驗證,用我自己的驗證.. 。 這種方法只是調用一個簡單的自己創建ValidatorObject這需要驗證的照顧......
public InvoiceForm() {
...
Form<Invoice> form = new Form("inputForm", formModel) {
/*
* Validation takes place here
*/
@Override
public void onValidateModelObjects() {
ValidationProcess vp = new ValidationProcess();
vp.validate("Rules.js", r);
msg = "";
if (vp.getConstraintViolations().size() > 0) {
for (String s : vp.getConstraintViolations()) {
msg = msg + s;
}
} else {
msg = "no errors.";
}
}
};
//adding Textfields to the Form etc...
...
}
我需要什麼:上面你可以看到我的errorMessages將被保存到字符串msg!現在,我要的是檢票藉此字符串,並將其應用到檢票FeedBackMessage系統或不過...
- 我需要,將在瞬間被渲染的成分...
- 我有將此組件的錯誤消息設置爲我的組件...
我該怎麼做?
我想我需要重寫一些方法,但我不知道哪些哪裏...
如何Form.error()正是工作的?假設我有2 componentes = 2 Textfields .... 1.Textfield稱爲價格和2. Textfield稱爲收件人....我將這些添加到我的表單....現在我如何獲得textfield價格並設置errorMessage價格的消息保存整型味精.....你寫錯誤(味精,空);但是,哪些組件會被使用? –
我在我的ValidateModelObjects()方法中需要類似這樣的東西:if(component.name = price)然後將錯誤設置爲msg。 if(component.name = recipient)然後將錯誤設置爲msg。依此類推...... –
Form.error()註冊一個關於將在FeedbackPanel中顯示給用戶的錯誤的字符串。在Form.onSubmit()中,您可以檢查Form.hasErrors()以檢查是否有任何錯誤已經註冊。 – divanov