wicket 6 自定义错误消息而不是 The value of x is not a valid int
wicket 6 custom error message instead of The value of x is not a valid int
我正在使用 Wicket 6,我想为特定组件 (TextField) 添加自定义错误消息。
此字段只能接受特定值 (0-59) 内的数字。此验证非常有效。但是,当用户输入非数字时...似乎 return 默认验证错误消息。像 The value of x is not a valid int.
下面是当输入值大于 59 或小于零时我如何设置 validation/error 消息的示例代码:
...
form.add(new ReportErrorControlGroup("minutesLateGroup", new TextField("minutesLate",
new PropertyModel<String>(m_attendanceInfo, "minutesLate")).setRequired(false).add(new IValidator<Integer>() {
private static final long serialVersionUID = 1L;
@Override
public void validate(IValidatable<Integer> validatable) {
Integer input = validatable.getValue();
if (input < 0 || input >= 60) {
validatable.error(new ValidationError("Please enter a valid minute(s) value, a value between 0 to 59."));
}
}
})));
...
当用户输入非数字值时,会return一条validation/error消息The value of 'minutesLate' is not a valid int.
我想要的是用 Please enter valid minute value.
之类的东西替换这个错误,并且只应用于 minutesLate
。
在我的其他项目中,我可以通过 messages.properties
设置它,然后像 field.error.incorrect.expected.values={0} is not a valid value.
但是这个项目是 Apache Wicket 6,我不知道如何 setup/configure messages.properties 以及如何使用验证失败时显示的特定消息。
我正在考虑使用 minutesLate.value.invalid=Please enter valid minute value.
如何让它看到添加的 messages.properties
并使用 minutesLate.value.invalid
作为无效(非数字)值。
因此,您需要在 MyApplication.properties 中覆盖它(必须在 MyApplication.class 旁边)
minutesLate.IConverter=Please enter valid minute value.
我正在使用 Wicket 6,我想为特定组件 (TextField) 添加自定义错误消息。
此字段只能接受特定值 (0-59) 内的数字。此验证非常有效。但是,当用户输入非数字时...似乎 return 默认验证错误消息。像 The value of x is not a valid int.
下面是当输入值大于 59 或小于零时我如何设置 validation/error 消息的示例代码:
...
form.add(new ReportErrorControlGroup("minutesLateGroup", new TextField("minutesLate",
new PropertyModel<String>(m_attendanceInfo, "minutesLate")).setRequired(false).add(new IValidator<Integer>() {
private static final long serialVersionUID = 1L;
@Override
public void validate(IValidatable<Integer> validatable) {
Integer input = validatable.getValue();
if (input < 0 || input >= 60) {
validatable.error(new ValidationError("Please enter a valid minute(s) value, a value between 0 to 59."));
}
}
})));
...
当用户输入非数字值时,会return一条validation/error消息The value of 'minutesLate' is not a valid int.
我想要的是用 Please enter valid minute value.
之类的东西替换这个错误,并且只应用于 minutesLate
。
在我的其他项目中,我可以通过 messages.properties
设置它,然后像 field.error.incorrect.expected.values={0} is not a valid value.
但是这个项目是 Apache Wicket 6,我不知道如何 setup/configure messages.properties 以及如何使用验证失败时显示的特定消息。
我正在考虑使用 minutesLate.value.invalid=Please enter valid minute value.
如何让它看到添加的 messages.properties
并使用 minutesLate.value.invalid
作为无效(非数字)值。
因此,您需要在 MyApplication.properties 中覆盖它(必须在 MyApplication.class 旁边)
minutesLate.IConverter=Please enter valid minute value.