【问题标题】:Wicket textfield validator eventWicket 文本字段验证器事件
【发布时间】:2013-04-21 09:29:24
【问题描述】:

我有一个包含文本字段的 Wicket 表单。

我希望该文本字段至少包含 3 个字符。

为此,我添加了一个 StringValidator,如下所示:

        newPersonName.add(StringValidator.minimumLength(3));

它可以正常工作,甚至会向我的 FeedbackPanel 组件报告错误。

问题是我希望能够在验证失败时手动执行某些操作(某种日志),所以我想“捕捉”验证失败的事件并在那里添加我自己的函数。

我该怎么做?

【问题讨论】:

    标签: wicket feedbackpanel


    【解决方案1】:

    您可以简单地继承 StringValidator 并覆盖 decorate (Wicket 6) 方法。 在您的示例中,它应该如下所示:

    newPersonName.add(new StringValidator(3, null){
        protected ValidationError decorate(ValidationError error, IValidatable<String> validatable){
             ValidationError superError = super.decorate(error, validatable);
             //log logic goes here
             return superError;
        }
    });
    

    【讨论】:

    • 似乎找不到 "decorate" 的 javadocs - 这个函数在哪里?
    • 如果找不到此方法,可能是因为您使用的是 Wicket 1.5,在这种情况下,您需要覆盖 onValidate 或类似的。
    猜你喜欢
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2011-12-01
    • 2013-09-11
    • 1970-01-01
    相关资源
    最近更新 更多