Wicket 空检查手动转换的文本字段值

Wicket 空检查手动转换的文本字段值,wicket,Wicket,我有一个TextField,它覆盖了它的getConverter方法以添加Joda时间转换器: 新文本字段(id){ @凌驾 公共IConvertergetConverter(类类型){ 返回(IConverter)新JodDateTimeConverter(); } }; 如果输入无效,转换器将返回null。但是,我希望能够根据需要标记此字段,但我不知道如何操作: isRequired(true)不起作用,因为所需的检查是在转换之前完成的。这不适用于非空但无效的输入 add(…某些验证器…

我有一个TextField,它覆盖了它的getConverter方法以添加Joda时间转换器:

新文本字段

(id){ @凌驾 公共

IConverter

getConverter(类

类型){ 返回(IConverter

)新JodDateTimeConverter(); } };

如果输入无效,转换器将返回null。但是,我希望能够根据需要标记此字段,但我不知道如何操作:

  • isRequired(true)不起作用,因为所需的检查是在转换之前完成的。这不适用于非空但无效的输入
  • add(…某些验证器…)不起作用,因为如果转换器返回null,则不会调用验证器
我真的看不到一种按照需要标记日期字段的方法。你知道怎么做吗?可能我的方法根本不适合?

如果添加一个而不是一个常规方法,它也将被调用为空值

将验证器子类化为在
validateOnNullValue()
上返回true也可能有帮助

从JavaDocs:

指示值为null时是否验证该值。它是 如果值为空,通常希望跳过验证,除非 希望确保该值实际上为null(一种罕见的用例)。 验证程序,它们扩展了该值并希望确保该值为null 应重写此方法并返回true

如果您添加一个而不是一个常规的,它也将被调用为空值

将验证器子类化为在
validateOnNullValue()
上返回true也可能有帮助

从JavaDocs:

指示值为null时是否验证该值。它是 如果值为空,通常希望跳过验证,除非 希望确保该值实际上为null(一种罕见的用例)。 验证程序,它们扩展了该值并希望确保该值为null 应重写此方法并返回true


这正是我想要的。非常感谢你!这正是我想要的。非常感谢你!