如何在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