如何在Wicket中定義自己的反饋消息? 例如:如果我提供不正確的用戶名,我想要得到一條錯誤消息,如「用戶名不正確,請嘗試再次登錄。」而不是使用默認的錯誤消息。在Wicket中定義自己的反饋消息
一個例子會是什麼樣子?
如何在Wicket中定義自己的反饋消息? 例如:如果我提供不正確的用戶名,我想要得到一條錯誤消息,如「用戶名不正確,請嘗試再次登錄。」而不是使用默認的錯誤消息。在Wicket中定義自己的反饋消息
一個例子會是什麼樣子?
您可以使用error()
和warn()
和info()
顯示自己的錯誤消息。如果要顯示依賴於驗證器或所需標誌的錯誤,可以使用與包含字段 - >消息映射的類相同的名稱來定義屬性文件。例如:
Index.java
Form form = new Form("myform");
form.add(new TextField("name").setRequired(true));
form.add(new PasswordTextField("password").setRequired(true));
form.add(new TextField("phonenumber").setRequired(true));
Index.properties
Required=Provide a ${label} or else...
所有必需的字段
myform.name.Required=You have to provide a name
字段name
形式myform
當它是必需的。
password.Required=You have to provide a password
任何字段在需要時名稱爲password
。
phonenumber.Required=A telephone number is obligatory.
任何字段在需要時名稱爲phonenumber
。
這顯示了爲特定組件設置反饋消息的各種方法。
你也可以把屬性文件旁邊以下組件級別(按重要性排列,上方最高):
希望能幫到
@ user1090145:我已經使用過載設備的錯誤()方法驗證的類:
private void error(IValidatable<String> validatable, String errorKey) {
ValidationError error = new ValidationError();
error.addMessageKey(errorKey);
validatable.error(error);
}
和的validate()由
error(validatable, "your-form.field.text-id");
屬性你的 - 調用它form.field.text-id必須在YourPage中定義。性能
來源: Create custom validator in Wicket和 Form validation messages
你應該設定供給回消息會話
message = "message";
Session.get().getFeedbackMessages().success(null, message);
您可以使用匿名IValidationError類和messageSource.getMessage方法來獲取自定義消息從您的財產檔案:
error(new IValidationError() {
@Override
public Serializable getErrorMessage(IErrorMessageSource messageSource) {
//create a list of the arguments that you will use in your message string
Map<String, Object> vars = new HashMap<String, Object>();
vars.put("invalidUsername", getInvalidUsernameInput());
//get the message string from the property file
return messageSource.getMessage("mysettings.invalid_username", vars);
}
});
示例性屬文件:
mysettings.invalid_username=The user name "${invalidUsername}" is incorrect.
它如何與Validators的消息一起工作?你只用了setRequired方法。 – user1090145 2012-01-12 21:32:15