Hi, I am trying to implement a Feedback for every Form Component and a catch all Feedback Panel in wicket 6.12.0. Everything works fine except for the case when a user causes a error which is shown in the Feedback Panel of the Component, e.g. the Textfield firstName is left empty. After that the select of the DropDownChoice does not update the Textfields anymore. Where is my mistake? Thanks a lot in advance. Daniela
Here is my code: public class EditEmployeePage extends BasePage { private FormComponent<String> firstName; private DropDownChoice<Employee> employeeDDC; private final Form<Employee> employeListForm; private Model<Employee> employeeModel; private Employee employee; @SpringBean(name="employeeService") private EmployeeService employeeService; private Button saveEmployeeButton; private Button resetButton; public EditEmployeePage(final PageParameters parameters) { super(); employee = new Employee(); employeeModel = new Model<Employee>(employee);//for dropDownChoice final CompoundPropertyModel<Employee> employeeCpm = new CompoundPropertyModel<Employee>(employeeModel); //for form employeListForm = new Form<Employee>("employeListForm", employeeCpm); employeListForm.setOutputMarkupId(true); add(employeListForm); addEmployeeDropDown(); addFirstNameTextField(); ....//more fields } private void addEmployeeDropDown() { Label chooseEmployeeLabel = new Label("chooseEmployeeLabel", "Mitarbeiter wählen:*"); employeListForm.add(chooseEmployeeLabel); // Employee DropdownChoice LoadableDetachableModel<List<Employee>> employeeValueChoices = new LoadableDetachableModel<List<Employee>>() { private static final long serialVersionUID = 1L; protected List<Employee> load() { List<Employee> employees = Collections.emptyList(); employees = employeeService.findallEmployees(getCompany()); if (!employees.isEmpty()){ employeeModel.setObject(employees.get(0)); } return employees; } }; employeeDDC = new DropDownChoice<Employee>("employee", employeeModel, employeeValueChoices.getObject(), new TwoPropertiesChoiceRenderer<Employee>("employeeId", "lastName", "firstName", ",")); employeeDDC.setLabel(new Model<String>("Mitarbeiter wählen")); employeeDDC.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { target.add(employeListForm); } }); employeeDDC.setRequired(true); employeListForm.add(employeeDDC); } private void addFirstNameTextField() { // first name label and field on page Label firstNameLabel = new Label("firstNameLabel", "Vorname:*"); employeListForm.add(firstNameLabel); firstName = new TextField<String>("firstName"); firstName.setLabel(new Model<String>("Vorname")); firstName.setOutputMarkupPlaceholderTag(true); FeedbackPanel firstNameFeedback = (FeedbackPanel) new FeedbackPanel("firstNameFeedback", firstName).setOutputMarkupId(true); employeListForm.add(firstNameFeedback); employeListForm.add(firstName); firstName.setRequired(true); } ... } public abstract class BasePage extends WebPage { private final FeedbackPanel pageFeedback = new FeedbackPanel("feedback"); public BasePage() { super(); pageFeedback.setOutputMarkupId(true); add(pageFeedback); }