检票验证中的错误字段

时间:2011-12-20 13:01:18

标签: wicket wicket-1.5

我正在尝试在表单组件验证失败时使我的文本字段出错。 我在我的textfield类属性中添加了一个“error”值,使其变为红色。

我是通过覆盖表单上的onValidate()方法并使用我的组件来查看它们是否有错误。

@Override
    protected void onValidate() {
        super.onValidate();
        Iterator<Component> compIter = iterator();
        while(compIter.hasNext()) {
            final Component comp = compIter.next();
            if(comp instanceof AbstractTextComponent<?>) {
                comp.add(new AttributeAppender("class", new Model<String>() {
                    @Override
                    public String getObject() {
                        return (comp.hasErrorMessage())?"error":"";
                    }
                }, " "));
            }
        }
    }

这很有效,但是当我查看生成的HTML时:

<input id="user_username" class="normal error error error" type="text" name="user.userName" value="stijn" maxlength="25" wicket:id="user.userName">

它生成错误值3次。 我做错了什么?

这是在wicket中实现这一目标的最佳方式还是有更好的方法???

THX, 柯恩

1 个答案:

答案 0 :(得分:1)

我不知道为什么它打印3次“错误”。您可以使用此工具,而不是编写自己的工具。 https://cwiki.apache.org/WICKET/automatic-styling-of-form-errors.html