Wicket DateTextField自定义错误消息

Wicket DateTextField自定义错误消息,wicket,wicket-6,Wicket,Wicket 6,我正在使用DateTextField编辑日期字段, 如果用户输入无效日期(例如,输入日期中插入的任何字符) 然后在提交表单DateTextField中,根据id内部创建无效的日期消息 我的代码是: form.add(DateTextField.forDatePattern("orderStartDate", new DateModel(new PropertyModel<Date>(this, "defaultModelObject.startDate")), "dd/MM/yyyy

我正在使用DateTextField编辑日期字段, 如果用户输入无效日期(例如,输入日期中插入的任何字符) 然后在提交表单DateTextField中,根据id内部创建无效的日期消息

我的代码是:

form.add(DateTextField.forDatePattern("orderStartDate", new DateModel(new PropertyModel<Date>(this, "defaultModelObject.startDate")), "dd/MM/yyyy"));
form.add(DateTextField.forDatePattern(“orderStartDate”),new DateModel(new PropertyModel(这是“defaultModelObject.startDate”),“dd/MM/yyyy”);
现在,如果用户输入任何无效日期,那么在表单提交中,DateTextField将生成消息

“orderStartDate”的值不是有效的日期。”

在消息“orderStartDate”中,是我在DateTextField上设置的id


现在我想为这个错误创建自定义消息,插入上面的消息

默认值来自
IConverter
资源包密钥:

您需要在application.properties中提供一个更具体的属性来覆盖它,例如:

orderStartDate.IConverter=Please provide a date with pattern dd/MM/yyyy.

默认值来自
IConverter
资源包密钥:

您需要在application.properties中提供一个更具体的属性来覆盖它,例如:

orderStartDate.IConverter=Please provide a date with pattern dd/MM/yyyy.

验证器通常将其类报告到错误对象中。Wicket生成反馈消息时,会在StringResourceModel中查找该消息。因此,如果您使用.properties或.properties.xml文件作为措辞,您可能希望使用IConverter(报告错误)的键添加反馈消息

请使用dd/MM/yyyy格式!
所需表单组件的情况相同

<entry key="Required">Please provide a value!</entry>
请提供一个值!
如果有一天您编写了自己的验证器,请给它一个键和可选参数

private void error(IValidatable<String> validatable) {
    ValidationError error = new ValidationError();
    error.addKey("id.exists");
    error.setVariable("id", valueThatIsNotValid); // variable held in class
    ekpCmp.error(error);
}
private void错误(IValidatable可验证){
ValidationError error=新的ValidationError();
错误。addKey(“id.exists”);
错误。setVariable(“id”,valuethatNotValid);//类中保留的变量
ekpCmp.错误(错误);
}
并定义StringResource

    <entry key="id.exists">The value ${id} already exists.</entry>
值${id}已存在。

验证程序通常将其类报告到错误对象中。Wicket生成反馈消息时,会在StringResourceModel中查找该消息。因此,如果您使用.properties或.properties.xml文件作为措辞,您可能希望使用IConverter(报告错误)的键添加反馈消息

请使用dd/MM/yyyy格式!
所需表单组件的情况相同

<entry key="Required">Please provide a value!</entry>
请提供一个值!
如果有一天您编写了自己的验证器,请给它一个键和可选参数

private void error(IValidatable<String> validatable) {
    ValidationError error = new ValidationError();
    error.addKey("id.exists");
    error.setVariable("id", valueThatIsNotValid); // variable held in class
    ekpCmp.error(error);
}
private void错误(IValidatable可验证){
ValidationError error=新的ValidationError();
错误。addKey(“id.exists”);
错误。setVariable(“id”,valuethatNotValid);//类中保留的变量
ekpCmp.错误(错误);
}
并定义StringResource

    <entry key="id.exists">The value ${id} already exists.</entry>
值${id}已存在。

跟我讲道理,伙计。是否有类似于我可以设置动态属性的地方。是的!查看StringResourceModel的javadoc以了解更多信息。请与我联系。是否有类似于我可以设置动态属性的地方。是的!有关更多信息,请查看StringResourceModel的javadoc。