I have Listview with multiple checkboxes. I need to do validation that atleast one checkbox is selected.
For this I have used Custom validator to validate checkboxes and throw error. This validator has list having checkboxes In Listview populateItem method I am adding the checkboxes to this validator list. But issue is how to add validator to form. I used checkbox.getform().add(validator); But it is adding for every checkbox in listview. So on running application validate method of validator is called for each checkbox. How to resolve ths. Kindly provide input ######################################### new ListView<T>("repeater", listModel) { @Override protected void populateItem(final ListItem<T> item) { final T current = item.getModelObject(); final IModel<Boolean> cbModel = new ListChoiceCheckBoxModel<T>(current, binding) { @Override protected boolean isChoiceEnabled(final T choice) { return EnumCheckBoxRepeaterPanel.this.isChoiceEnabled(choice); } }; CheckBox chkbox = new AjaxCheckBox("checkbox", cbModel) { @Override protected void onConfigure() { setEnabled(isChoiceEnabled(current)); } }; item.add(chkbox); validator.addComponents(chkbox); chkbox.getForm().add(new CheckboxesSelectValidator(chkBoxList, "Invalid")); item.add(new Label("label", localizedModel(labels, current))); } }.setReuseItems(true); ######################################### public class CheckboxesSelectValidator extends AbstractFormValidator { private static final long serialVersionUID = -5475763159946590330L; /** form components to be checked. */ // private final CheckBox[] components; private final String optionsMessage; private final List<CheckBox> components; public CheckboxesSelectValidator(final List<CheckBox> components, final String optionsMessage) { this.components = components; this.optionsMessage = optionsMessage; } public void addComponents(final CheckBox checkbox) { components.add(checkbox); } @Override public FormComponent[] getDependentFormComponents() { return components.toArray(new FormComponent[components.size()]); } @Override public void validate(final Form<?> form) { for (CheckBox component : components) { component.isEnabled(); component.getValue(); } } } -- View this message in context: http://apache-wicket.1842946.n4.nabble.com/Adding-Custom-validator-for-Listview-having-multiple-checkboxes-tp4658825.html Sent from the Users forum mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org