List of usage examples for org.apache.wicket.markup.html.form Form hasError
public final boolean hasError()
From source file:com.googlecode.wicket.jquery.ui.dialog.AbstractFormDialog.java
License:Apache License
/** * DO NOT OVERRIDE UNLESS A VERY GOOD REASON *//*w w w . ja va 2s. c o m*/ @Override public void onEvent(IEvent<?> event) { Form<?> form = this.getForm(); //null form not handled ; should not go until here if it's the case. if (event.getPayload() instanceof DialogEvent) { final DialogEvent payload = (DialogEvent) event.getPayload(); if (payload.isClicked(this.getSubmitButton())) { // same technique as AjaxButton class // form.process(new IFormSubmitter() { public Form<?> getForm() { return AbstractFormDialog.this.getForm(); } public boolean getDefaultFormProcessing() { return AbstractFormDialog.this.getDefaultFormProcessing(); } public void onSubmit() { AbstractFormDialog.this.onSubmit(payload.getTarget()); } public void onError() { AbstractFormDialog.this.onError(payload.getTarget()); } }); if (!form.hasError()) { super.onEvent(event); //close the dialog } } else { super.onEvent(event); //close the dialog } } }
From source file:com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog.java
License:Apache License
@Override void internalOnClick(AjaxRequestTarget target, DialogButton button) { final Form<?> form = this.getForm(button); if (form != null) { form.process(new DialogFormSubmitter(target)); if (!form.hasError()) { this.onClick(target, button); //fires onClick (& closes the dialog by default) }/* w w w . j a v a 2 s.com*/ } else { this.onClick(target, button); //fires onClick (& closes the dialog by default) } }
From source file:com.servoy.extensions.beans.dbtreeview.table.InmethodDBTreeTableView.java
License:Open Source License
@Override protected void onJunctionLinkClicked(AjaxRequestTarget target, Object node) { super.onJunctionLinkClicked(target, node); // we need to clear all inputs of the form, // because this onjunctionclicked is done by a form submit so all // fields have there rawInput set. Form<?> form = getForm(); if (form != null) { Form<?> rootForm = form.getRootForm(); if (rootForm != null) { form = rootForm;/*from w w w . ja v a 2s .co m*/ } if (!form.hasError()) { form.clearInput(); } } }
From source file:org.apache.isis.viewer.wicket.ui.panels.ProcessObjectPanelAbstract.java
License:Apache License
/** * Validates the form properties and domain object (object-level * validation).//from www. j a v a 2s . c om */ protected boolean isValid(final Form<?> form) { // check properties are all valid if (form.hasError()) { return false; } // check object is valid // to perform object-level validation, we must apply the changes first // Contrast this with ActionPanel (for validating action arguments) // where // we do the validation prior to the execution of the action. final ObjectAdapter object = getEntityModel().getObject(); final Memento snapshotToRollbackToIfInvalid = new Memento(object); getEntityModel().apply(); final String invalidReasonIfAny = getEntityModel().getReasonInvalidIfAny(); if (invalidReasonIfAny != null) { form.error(invalidReasonIfAny); snapshotToRollbackToIfInvalid.recreateObject(); return false; } // ok return true; }
From source file:org.devgateway.eudevfin.dim.pages.transaction.crs.TransactionPage.java
License:Open Source License
@SuppressWarnings("unchecked") public TransactionPage(final PageParameters parameters) { super(parameters); //override the title pageTitle.setDefaultModel(new StringResourceModel( parameters.get(Constants.PARAM_TRANSACTION_TYPE).toString(""), this, null, null)); try {//from www . ja va 2 s . co m // check if the key is missing in the resource file getString(parameters.get(Constants.PARAM_TRANSACTION_TYPE).toString("") + ".note"); note = new Label("note", new StringResourceModel( parameters.get(Constants.PARAM_TRANSACTION_TYPE).toString("") + ".note", this, null, null)); } catch (MissingResourceException mre) { note = new Label("note", new Model<String>(" ")); note.add(new AttributeAppender("class", new Model<String>("hide"), " ")); } add(note.setEscapeModelStrings(false)); try { // check if the key is missing in the resource file getString(parameters.get(Constants.PARAM_TRANSACTION_TYPE).toString("") + ".subnote"); subnote = new Label("subnote", new StringResourceModel( parameters.get(Constants.PARAM_TRANSACTION_TYPE).toString("") + ".subnote", this, null, null)); } catch (MissingResourceException mre) { subnote = new Label("subnote", new Model<String>(" ")); subnote.add(new AttributeAppender("class", new Model<String>("hide"), " ")); } add(subnote.setEscapeModelStrings(false)); onUnloadScript = "window.onbeforeunload = function(e) {\n" + " var message = '" + new StringResourceModel("leaveMessage", this, null, null).getObject() + "';\n" + " e = e || window.event;\n" + " if(e) {\n" + " e.returnValue = message;\n" + // For IE 8 and old Firefox " }\n" + " return message;\n" + "};"; // TODO: check that transactionType in the request parameters is the // same as the loaded transaction's type FinancialTransaction financialTransaction = null; if (!parameters.get(PARAM_TRANSACTION_ID).isNull()) { long transactionId = parameters.get(PARAM_TRANSACTION_ID).toLong(); financialTransaction = financialTransactionService.findOne(transactionId).getEntity(); } else { financialTransaction = getFinancialTransaction(); initializeFinancialTransaction(financialTransaction, parameters); } CompoundPropertyModel<FinancialTransaction> model = new CompoundPropertyModel<FinancialTransaction>( financialTransaction); setModel(model); form = new Form("form"); add(form); List<ITabWithKey> tabList = populateTabList(parameters); BootstrapJSTabbedPanel<ITabWithKey> bc = new BootstrapJSTabbedPanel<>("bc", tabList) .positionTabs(BootstrapJSTabbedPanel.Orientation.RIGHT); form.add(bc); submitButton = new TransactionPageSubmitButton("submit", new StringResourceModel("button.submit", this, null, null)) { private static final long serialVersionUID = -1909494416938537482L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { logger.info("Submit pressed"); FinancialTransaction transaction = (FinancialTransaction) form.getInnermostModel().getObject(); Message message = prepareMessage(transaction); super.onSubmit(target, form); message = checkNewId(message, transaction); if (!form.hasError()) { //send the message if any if (message != null) mxService.save(message); setResponsePage(HomePage.class); } } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { super.onError(target, form); target.appendJavaScript(onUnloadScript); } }; submitButton .add(new AttributePrepender("onclick", new Model<String>("window.onbeforeunload = null;"), " ")); form.add(submitButton); TransactionPageSubmitButton saveButton = new TransactionPageSubmitButton("save", new StringResourceModel("button.save", this, null, null)) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (TransactionPage.this instanceof CustomTransactionPage) { CustomTransactionPage ctp = (CustomTransactionPage) TransactionPage.this; ctp.getApproved().getField().setModelObject(false); ctp.getDraft().getField().setModelObject(true); target.add(ctp.getDraft().getField()); target.add(ctp.getApproved().getField()); } super.onSubmit(target, form); } }; saveButton.setDefaultFormProcessing(false); form.add(saveButton); TransactionPageDeleteButton transactionPageDeleteButton = new TransactionPageDeleteButton("delete", new StringResourceModel("button.delete", this, null, null)); MetaDataRoleAuthorizationStrategy.authorize(transactionPageDeleteButton, Component.ENABLE, AuthConstants.Roles.ROLE_TEAMLEAD); form.add(transactionPageDeleteButton); form.add(new BootstrapCancelButton("cancel", new StringResourceModel("button.cancel", this, null, null)) { private static final long serialVersionUID = -3097577464142022353L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { logger.info("Cancel pressed"); setResponsePage(HomePage.class); } }); feedbackPanel = new NotificationPanel("feedback"); feedbackPanel.setOutputMarkupId(true); feedbackPanel.hideAfter(Duration.seconds(5)); add(feedbackPanel); }
From source file:org.geoserver.wms.eo.web.AddEoLayerPage.java
License:Open Source License
private AjaxSubmitLink saveLink(Form<AddEoLayerModel> paramsForm) { return new AjaxSubmitLink("save", paramsForm) { @Override/*from w w w . j ava2 s . co m*/ protected void onError(AjaxRequestTarget target, Form<?> paramsForm) { super.onError(target, paramsForm); target.addComponent(paramsForm); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> paramsForm) { AddEoLayerModel model = (AddEoLayerModel) paramsForm.getModelObject(); LayerGroupInfo group = model.getGroup(); EoCatalogBuilder builder = new EoCatalogBuilder(getCatalog()); if (StringUtils.isEmpty(model.getBitmaskName()) && !StringUtils.isEmpty(model.getBitmaskUrl())) { paramsForm.error("Field '" + BITMASK.getObject() + " Name' is required."); } if (StringUtils.isEmpty(model.getParameterName()) && !StringUtils.isEmpty(model.getParameterUrl())) { paramsForm.error("Field '" + GEOPHYSICAL_PARAMETER.getObject() + " Name' is required."); } if (paramsForm.hasError()) { target.addComponent(paramsForm); } else { try { // load layers in group group = getCatalog().getLayerGroupByName(group.getWorkspace(), group.getName()); LayerInfo layer = builder.createEoMasksLayer(group.getWorkspace(), group.getName(), model.getBitmaskName(), model.getBitmaskUrl()); if (layer != null) { group.getLayers().add(layer); group.getStyles().add(layer.getDefaultStyle()); } layer = builder.createEoParametersLayer(group.getWorkspace(), group.getName(), model.getParameterName(), model.getParameterUrl()); if (layer != null) { group.getLayers().add(layer); group.getStyles().add(layer.getDefaultStyle()); } CatalogBuilder catalogBuilder = new CatalogBuilder(getCatalog()); catalogBuilder.calculateLayerGroupBounds(group); getCatalog().save(group); setResponsePage(EoLayerGroupPage.class); } catch (RuntimeException e) { if (LOGGER.isLoggable(Level.INFO)) { LOGGER.log(Level.INFO, e.getMessage(), e); } paramsForm.error(e.getMessage()); target.addComponent(paramsForm); } catch (Exception e) { if (LOGGER.isLoggable(Level.INFO)) { LOGGER.log(Level.INFO, e.getMessage(), e); } paramsForm.error(e.getMessage()); target.addComponent(paramsForm); } } } }; }
From source file:org.geoserver.wms.eo.web.AddEoLayerPanel.java
License:Open Source License
private AjaxSubmitLink saveLink(Form<AddEoLayerModel> paramsForm) { return new AjaxSubmitLink("save", paramsForm) { @Override// w ww . j a v a 2 s .c o m protected void onError(AjaxRequestTarget target, Form<?> paramsForm) { super.onError(target, paramsForm); target.addComponent(paramsForm); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> paramsForm) { AddEoLayerModel model = (AddEoLayerModel) paramsForm.getModelObject(); LayerGroupInfo group = model.getGroup(); EoCatalogBuilder builder = new EoCatalogBuilder(getCatalog()); if (StringUtils.isEmpty(model.getBitmaskName()) && !StringUtils.isEmpty(model.getBitmaskUrl())) { paramsForm.error("Field '" + EoPage.BITMASK.getObject() + " Name' is required."); } if (StringUtils.isEmpty(model.getParameterName()) && !StringUtils.isEmpty(model.getParameterUrl())) { paramsForm.error("Field '" + EoPage.GEOPHYSICAL_PARAMETER.getObject() + " Name' is required."); } if (paramsForm.hasError()) { target.addComponent(paramsForm); } else { try { LayerInfo maskLayer = builder.createEoMasksLayer(group.getWorkspace(), group.getName(), model.getBitmaskName(), model.getBitmaskUrl()); LayerInfo paramsLayer = builder.createEoParametersLayer(group.getWorkspace(), group.getName(), model.getParameterName(), model.getParameterUrl()); AddEoLayerPanel.this.onSubmit(target, maskLayer, paramsLayer); } catch (RuntimeException e) { if (LOGGER.isLoggable(Level.INFO)) { LOGGER.log(Level.INFO, e.getMessage(), e); } paramsForm.error(e.getMessage()); target.addComponent(paramsForm); } catch (Exception e) { if (LOGGER.isLoggable(Level.INFO)) { LOGGER.log(Level.INFO, e.getMessage(), e); } paramsForm.error(e.getMessage()); target.addComponent(paramsForm); } } } }; }
From source file:org.geoserver.wms.eo.web.CreateEoGroupPage.java
License:Open Source License
private AjaxSubmitLink saveLink(Form<CreateEoGroupModel> paramsForm) { return new AjaxSubmitLink("save", paramsForm) { @Override// ww w. ja v a2 s. c o m protected void onError(AjaxRequestTarget target, Form<?> paramsForm) { super.onError(target, paramsForm); target.addComponent(paramsForm); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> paramsForm) { CreateEoGroupModel model = (CreateEoGroupModel) paramsForm.getModelObject(); if (getCatalog().getLayerGroupByName(model.getWorkspace(), model.getGroupName()) != null) { paramsForm.error("Layer Group '" + model.getGroupName() + "' already exists"); } if (StringUtils.isEmpty(model.getBitmaskName()) && !StringUtils.isEmpty(model.getBitmaskUrl())) { paramsForm.error("Field '" + BITMASK.getObject() + " Name' is required."); } if (StringUtils.isEmpty(model.getParameterName()) && !StringUtils.isEmpty(model.getParameterUrl())) { paramsForm.error("Field '" + GEOPHYSICAL_PARAMETER.getObject() + " Name' is required."); } // TODO check if some layer already exists if (paramsForm.hasError()) { target.addComponent(paramsForm); } else { EoCatalogBuilder builder = new EoCatalogBuilder(getCatalog()); try { builder.createEoLayerGroup(model.getWorkspace(), model.getGroupName(), model.getGroupTitle(), model.getBrowseImageUrl(), model.getBandUrl(), model.getBitmaskName(), model.getBitmaskUrl(), model.getParameterName(), model.getParameterUrl()); setResponsePage(EoLayerGroupPage.class); } catch (RuntimeException e) { if (LOGGER.isLoggable(Level.INFO)) { LOGGER.log(Level.INFO, e.getMessage(), e); } paramsForm.error(e.getMessage()); target.addComponent(paramsForm); } catch (Exception e) { if (LOGGER.isLoggable(Level.INFO)) { LOGGER.log(Level.INFO, e.getMessage(), e); } paramsForm.error(e.getMessage()); target.addComponent(paramsForm); } } } }; }
From source file:org.obiba.onyx.quartz.editor.openAnswer.autocomplete.SuggestionItemWindow.java
License:Open Source License
public SuggestionItemWindow(String id, IModel<OpenAnswerDefinition> model, IModel<String> itemModel, IModel<LocaleProperties> localePropertiesModel, final ModalWindow modalWindow) { super(id, model); feedbackPanel = new FeedbackPanel("content"); feedbackWindow = new FeedbackWindow("feedback"); feedbackWindow.setOutputMarkupId(true); add(feedbackWindow);/*from w w w . j a v a2 s . co m*/ OpenAnswerDefinitionSuggestion openAnswerSuggestion = new OpenAnswerDefinitionSuggestion(model.getObject()); final Form<OpenAnswerDefinition> form = new Form<OpenAnswerDefinition>("form", model); form.setMultiPart(false); add(form); String originalItem = itemModel.getObject(); final TextField<String> name = new TextField<String>("name", itemModel); name.setLabel(new ResourceModel("Name")); name.add(new RequiredFormFieldBehavior()); form.add(name).add(new SimpleFormComponentLabel("nameLabel", name)); // excludes other openAnswer label properties Map<String, Boolean> visibleStates = new HashMap<String, Boolean>(); visibleStates.put("label", false); visibleStates.put("unitLabel", false); for (String item : openAnswerSuggestion.getSuggestionItems()) { visibleStates.put(item, StringUtils.equals(item, originalItem)); } form.add(new LabelsPanel("labels", localePropertiesModel, model, feedbackPanel, feedbackWindow, null, visibleStates)); form.add(new SaveCancelPanel("saveCancel", form) { @Override protected void onSave(AjaxRequestTarget target, Form<?> form1) { if (form.hasError()) return; SuggestionItemWindow.this.onSave(target, name.getModelObject()); modalWindow.close(target); } @Override protected void onCancel(AjaxRequestTarget target, Form<?> form1) { SuggestionItemWindow.this.onCancel(target); modalWindow.close(target); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { feedbackWindow.setContent(feedbackPanel); feedbackWindow.show(target); } }); }
From source file:org.obiba.onyx.quartz.editor.openAnswer.OpenAnswerWindow.java
License:Open Source License
public OpenAnswerWindow(String id, final IModel<OpenAnswerDefinition> model, final IModel<Category> categoryModel, final IModel<Question> questionModel, final IModel<Questionnaire> questionnaireModel, final IModel<LocaleProperties> localePropertiesModel, final ModalWindow modalWindow) { super(id, model); feedbackPanel = new FeedbackPanel("content"); feedbackWindow = new FeedbackWindow("feedback"); feedbackWindow.setOutputMarkupId(true); add(feedbackWindow);// w ww . j a v a2 s . c om add(form = new Form<OpenAnswerDefinition>("form", model)); form.setMultiPart(false); List<ITab> tabs = new ArrayList<ITab>(); AjaxSubmitTabbedPanel ajaxSubmitTabbedPanel = new AjaxSubmitTabbedPanel("openAnswerTabs", feedbackPanel, feedbackWindow, tabs); tabs.add(new PanelCachingTab(new AbstractTab(new ResourceModel("OpenAnswerDefinition")) { @Override public Panel getPanel(String panelId) { switch (model.getObject().getOpenAnswerType()) { case AUDIO_RECORDING: openAnswerPanel = new AudioOpenAnswerPanel(panelId, model, categoryModel, questionModel, questionnaireModel); break; case AUTO_COMPLETE: openAnswerPanel = new AutoCompleteOpenAnswerPanel(panelId, model, categoryModel, questionModel, questionnaireModel, localePropertiesModel, feedbackPanel, feedbackWindow); break; default: openAnswerPanel = new OpenAnswerPanel(panelId, model, categoryModel, questionModel, questionnaireModel, localePropertiesModel, feedbackPanel, feedbackWindow); } return openAnswerPanel; } })); tabs.add(new PanelCachingTab(new AbstractTab(new ResourceModel("Attributes")) { @Override public Panel getPanel(String panelId) { return new AttributesPanel(panelId, new Model<OpenAnswerDefinition>(model.getObject()), questionnaireModel.getObject().getLocales(), feedbackPanel, feedbackWindow); } })); form.add(ajaxSubmitTabbedPanel); form.add(new SaveCancelPanel("saveCancel", form) { @Override protected void onSave(AjaxRequestTarget target, Form<?> form1) { ((SaveablePanel) openAnswerPanel).onSave(target); if (form.hasError()) return; OpenAnswerWindow.this.onSave(target, form.getModelObject()); modalWindow.close(target); } @Override protected void onCancel(AjaxRequestTarget target, Form<?> form1) { OpenAnswerWindow.this.onCancel(target, form.getModelObject()); modalWindow.close(target); } @Override protected void onError(AjaxRequestTarget target, @SuppressWarnings("hiding") Form<?> form) { feedbackWindow.setContent(feedbackPanel); feedbackWindow.show(target); } }); }