diff --git a/src/main/java/org/olat/course/editor/NodeConfigFormController.java b/src/main/java/org/olat/course/editor/NodeConfigFormController.java index f98435d7e064af4b7d56987da5b6ed2598af5d67..307cda989ba1d4526d28fcedc7c7db9aef076dfb 100644 --- a/src/main/java/org/olat/course/editor/NodeConfigFormController.java +++ b/src/main/java/org/olat/course/editor/NodeConfigFormController.java @@ -45,9 +45,9 @@ public class NodeConfigFormController extends FormBasicController { /** * Maximum length of a course's short title. */ - public final static int SHORT_TITLE_MAX_LENGTH =25; + public static final int SHORT_TITLE_MAX_LENGTH =25; - private final static String[] displayOptionsKeys = new String[]{ + private static final String[] displayOptionsKeys = new String[]{ CourseNode.DISPLAY_OPTS_SHORT_TITLE_DESCRIPTION_CONTENT, CourseNode.DISPLAY_OPTS_TITLE_DESCRIPTION_CONTENT, CourseNode.DISPLAY_OPTS_SHORT_TITLE_CONTENT, @@ -161,10 +161,14 @@ public class NodeConfigFormController extends FormBasicController { translate("nodeConfigForm.title_content"), translate("nodeConfigForm.content_only")}; displayOptions = uifactory.addDropdownSingleselect("displayOptions", "nodeConfigForm.display_options", formLayout, displayOptionsKeys, values, null); - displayOptions.select(displayOption, true); + for(String displayOptionsKey:displayOptionsKeys) { + if(displayOptionsKey.equals(displayOption)) { + displayOptions.select(displayOption, true); + } + } // Create submit and cancel buttons - final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttonLayout", getTranslator()); + FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttonLayout", getTranslator()); formLayout.add(buttonLayout); uifactory.addFormSubmitButton("nodeConfigForm.save", buttonLayout) .setElementCssClass("o_sel_node_editor_submit"); @@ -176,20 +180,23 @@ public class NodeConfigFormController extends FormBasicController { */ @Override protected boolean validateFormLogic(UserRequest ureq) { - boolean shortTitleOk = true; + boolean allOk = super.validateFormLogic(ureq); + + shortTitle.clearError(); if (!StringHelper.containsNonWhitespace(shortTitle.getValue())) { // the short title is mandatory - shortTitle.setErrorKey("nodeConfigForm.menumust", new String[] {}); - shortTitleOk = false; + shortTitle.setErrorKey("nodeConfigForm.menumust", null); + allOk &= false; } else if (shortTitle.hasError()) { - shortTitleOk = false; + allOk &= false; } - if (shortTitleOk && super.validateFormLogic(ureq)) { - shortTitle.clearError(); - return true; - } else { - return false; + + if(!displayOptions.isOneSelected()) { + displayOptions.setErrorKey("form.legende.mandatory", null); + allOk &= false; } + + return allOk; } /**