Index: editor/frontend/src/main/java/org/hippoecm/frontend/editor/resources/editor.css =================================================================== --- editor/frontend/src/main/java/org/hippoecm/frontend/editor/resources/editor.css (revision 35079) +++ editor/frontend/src/main/java/org/hippoecm/frontend/editor/resources/editor.css (working copy) @@ -513,11 +513,6 @@ position: relative; } -.hippo-editor .hippo-editor-field .hippo-editor-field-subfield .hippo-editor-field-subfield .hippo-editor-field-subfield { - background-color: transparent; - border: 1px solid #b2b2b2; -} - .hippo-editor .hippo-editor-field .hippo-editor-field-subfield .hippo-editor-field-subfield .add-16 { } Index: editor/frontend/src/main/java/org/hippoecm/frontend/editor/validator/JcrFieldValidator.java =================================================================== --- editor/frontend/src/main/java/org/hippoecm/frontend/editor/validator/JcrFieldValidator.java (revision 35079) +++ editor/frontend/src/main/java/org/hippoecm/frontend/editor/validator/JcrFieldValidator.java (working copy) @@ -136,9 +136,9 @@ private void addTypeViolations(Set violations, IModel childModel, Set typeViolations) throws ValidationException { + JcrNodeModel childNodeModel = (JcrNodeModel) childModel; String name = field.getPath(); - if ("*".equals(name)) { - JcrNodeModel childNodeModel = (JcrNodeModel) childModel; + if ("*".equals(name)) { try { name = childNodeModel.getNode().getName(); } catch (RepositoryException e) { @@ -146,10 +146,12 @@ } } int index = 0; - if (name.indexOf('[') >= 0) { - index = Integer.valueOf(name.substring(name.indexOf('[') + 1, name.lastIndexOf(']'))) - 1; - name = name.substring(name.indexOf('[')); + try { + index = childNodeModel.getNode().getIndex() - 1; + } catch (RepositoryException e) { + throw new ValidationException("Could not resolve path for invalid value", e); } + for (Violation violation : typeViolations) { Set childPaths = violation.getDependentPaths(); Set paths = new HashSet();