1

我在列表视图中有一个列表视图。我在嵌套列表视图中有一个文本字段。

new ListView<ConfigStructure>("subListView", propertyList) {
                @Override
                protected void populateItem(ListItem<ConfigStructure> item) {
                    ConfigStructure config = item.getModelObject();
                    final TextField<String> configValue = new TextField<>("configValue",new PropertyModel(config, "value"));
                    configValue.setRequired(true);
                    configValue.add(new CustomConfigValidator(config));

                    item.add(configValue);
                }
            });

我在页面上有一个反馈面板

add(new FeedbackPanel("feedback"));

但我没有看到任何错误出现。如果我输入的值未通过验证,则不会提交这些值。但我也没有看到错误消息。

在我的 CustomConfigValidator 中,我有以下内容

@Override
public void validate(IValidatable<String> validatable) {

    //get input from attached component
    final String field = validatable.getValue();

    if(!checkIfValid){
        error(validatable, "Validation failed for " + config.getLabel() + " with value " + field + ",value should satisfy " + validateString);
    }
4

1 回答 1

2

阅读器 ListView 的 javadoc:

<strong>WARNING:</strong> though you can nest ListViews within Forms, you HAVE to set the setReuseItems property to true in order to have validation work properly. By default, ...
于 2013-06-05T07:31:14.593 回答