Example usage for org.apache.wicket.markup.html.form Form hasError

List of usage examples for org.apache.wicket.markup.html.form Form hasError

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form Form hasError.

Prototype

public final boolean hasError() 

Source Link

Document

Gets whether the current form has any error registered.

Usage

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);
        }
    });

}