List of usage examples for org.apache.wicket.validation ValidationError setMessage
public final ValidationError setMessage(String message)
From source file:ar.edu.udc.cirtock.view.intranet.negocio.FormularioInsumo.java
License:Apache License
public FormularioInsumo(final PageParameters parameters) { super(parameters); add(new FeedbackPanel("feedbackErrors", new ExactLevelFeedbackMessageFilter(FeedbackMessage.ERROR))); formulario = new Form("formulario_insumo"); nombre = new RequiredTextField<String>("nombre", new Model()); nombre.add(new IValidator<String>() { @Override//www. j ava2 s . c o m public void validate(IValidatable<String> validatable) { String nombre = validatable.getValue().trim().toUpperCase(); if (!nombre.matches("^[\\w\\s]{3,20}$")) { ValidationError error = new ValidationError(); error.setMessage("El campo 'nombre' no es valido"); validatable.error(error); } } }); formulario.add(nombre); descripcion = new RequiredTextField<String>("descripcion", new Model()); descripcion.add(new IValidator<String>() { @Override public void validate(IValidatable<String> validatable) { String descripcion = validatable.getValue().trim().toUpperCase(); if (!descripcion.matches("^[A-Za-z ]{3,50}$")) { ValidationError error = new ValidationError(); error.setMessage("El campo 'descripcion' no es valido"); validatable.error(error); } } }); formulario.add(descripcion); cantidad = new NumberTextField<Integer>("cantidad", new Model()); cantidad.setType(Integer.class); cantidad.add(new IValidator<Integer>() { @Override public void validate(IValidatable<Integer> validatable) { Integer cantidad = validatable.getValue(); if (cantidad < 0) { ValidationError error = new ValidationError(); error.setMessage("El campo 'cantidad' no es valido"); validatable.error(error); } } }); formulario.add(cantidad); formulario.add(new Button("enviar") { /** * */ private static final long serialVersionUID = 1L; public void onSubmit() { String desc = (String) descripcion.getModelObject(); String nomb = (String) nombre.getModelObject(); Integer cant = cantidad.getModelObject(); Connection conn = null; try { conn = CirtockConnection.getConection("cirtock", "cirtock", "cirtock"); Insumo ins = new Insumo(); ins.setDescripcion(desc); ins.setNombre(nomb); ins.setCantidad(cant); ins.insert("", conn); } catch (CirtockException e) { System.out.println("Error al acceder a la base de datos"); } finally { try { conn.close(); } catch (SQLException e) { ; } } setResponsePage(InsumoPage.class); }; }); add(formulario); }
From source file:cz.zcu.kiv.eegdatabase.wui.components.form.input.UniqueEntityValidator.java
License:Apache License
private void error(IValidatable<T> validatable, String message) { ValidationError error = new ValidationError(); error.setMessage(message); validatable.error(error);/*w ww .jav a 2 s. c o m*/ }
From source file:dk.teachus.frontend.components.person.PersonPanel.java
License:Apache License
public PersonPanel(String id, final PersonModel<? extends Person> personModel) { super(id, personModel); if (allowUserEditing(TeachUsSession.get().getPerson(), personModel.getObject()) == false) { throw new RestartResponseAtInterceptPageException(Application.get().getHomePage()); }/*from w w w . ja v a 2s .co m*/ FormPanel formPanel = new FormPanel("form"); //$NON-NLS-1$ add(formPanel); // Name StringTextFieldElement nameField = new StringTextFieldElement( TeachUsSession.get().getString("General.name"), new PropertyModel<String>(personModel, "name"), //$NON-NLS-1$//$NON-NLS-2$ true, 32); nameField.add(StringValidator.lengthBetween(2, 100)); formPanel.addElement(nameField); // Email StringTextFieldElement emailField = new StringTextFieldElement( TeachUsSession.get().getString("General.email"), new PropertyModel<String>(personModel, "email"), //$NON-NLS-1$//$NON-NLS-2$ true, 50); emailField.add(EmailAddressValidator.getInstance()); formPanel.addElement(emailField); // Phone number formPanel.addElement(new IntegerFieldElement(TeachUsSession.get().getString("General.phoneNumber"), //$NON-NLS-1$ new PropertyModel<Integer>(personModel, "phoneNumber"), 10)); //$NON-NLS-1$ // Username if (isUsernameEnabled()) { StringTextFieldElement usernameField = new StringTextFieldElement( TeachUsSession.get().getString("General.username"), //$NON-NLS-1$ new PropertyModel<String>(personModel, "username"), true); //$NON-NLS-1$ usernameField.add(StringValidator.lengthBetween(3, 50)); // Validate the username for correct content usernameField.add(new PatternValidator("^[a-zA-Z0-9-_]+$") { //$NON-NLS-1$ private static final long serialVersionUID = 1L; @Override public void error(IValidatable<String> validatable) { ValidationError validationError = new ValidationError(); validationError.setMessage(TeachUsSession.get().getString("PersonPanel.usernameCharacters")); validatable.error(validationError); //$NON-NLS-1$ } }); // validate the username checking for dublicates usernameField.add(new IValidator<String>() { private static final long serialVersionUID = 1L; public void validate(IValidatable<String> validatable) { PersonDAO personDAO = TeachUsApplication.get().getPersonDAO(); String username = validatable.getValue(); Person existingPerson = personDAO.usernameExists(username); if (existingPerson != null && existingPerson.getId().equals(personModel.getPersonId()) == false) { String localeString = TeachUsSession.get().getString("PersonPanel.userAlreadyExists"); //$NON-NLS-1$ localeString = localeString.replace("${username}", username); //$NON-NLS-1$ ValidationError validationError = new ValidationError(); validationError.setMessage(localeString); validatable.error(validationError); } } }); formPanel.addElement(usernameField); } else { formPanel.addElement(new ReadOnlyElement(TeachUsSession.get().getString("General.username"), //$NON-NLS-1$ new PropertyModel<Object>(personModel, "username"))); //$NON-NLS-1$ } // Password 1 if (isPasswordVisible()) { final PasswordFieldElement password1Field = new PasswordFieldElement( TeachUsSession.get().getString("General.password"), //$NON-NLS-1$ new PropertyModel<String>(this, "password1"), personModel.getPersonId() == null); //$NON-NLS-1$ password1Field.add(StringValidator.lengthBetween(4, 32)); formPanel.addElement(password1Field); // Password 2 final PasswordFieldElement password2Field = new PasswordFieldElement( TeachUsSession.get().getString("PersonPanel.repeatPassword"), //$NON-NLS-1$ new PropertyModel<String>(this, "password2")); //$NON-NLS-1$ formPanel.addElement(password2Field); // Password validator formPanel.addValidator(new FormValidator() { private static final long serialVersionUID = 1L; public IFormValidator getFormValidator() { return new EqualInputValidator(password1Field.getFormComponent(), password2Field.getFormComponent()); } }); } // Locale if (isLocaleVisible()) { List<Locale> availableLocales = TeachUsApplication.get().getAvailableLocales(); formPanel.addElement(new DropDownElement<Locale>(TeachUsSession.get().getString("General.locale"), //$NON-NLS-1$ new PropertyModel<Locale>(personModel, "locale"), availableLocales, //$NON-NLS-1$ new LocaleChoiceRenderer())); } if (isCurrencyVisible()) { StringTextFieldElement currencyField = new StringTextFieldElement( TeachUsSession.get().getString("General.currency"), //$NON-NLS-1$ new PropertyModel<String>(personModel, "currency"), 4); //$NON-NLS-1$ currencyField.add(StringValidator.lengthBetween(0, 10)); formPanel.addElement(currencyField); //$NON-NLS-1$ //$NON-NLS-2$ } // Theme if (isThemeVisible()) { List<Theme> themes = Arrays.asList(Theme.values()); formPanel.addElement(new DropDownElement<Theme>(TeachUsSession.get().getString("General.theme"), //$NON-NLS-1$ new PropertyModel<Theme>(personModel, "theme"), themes, new ThemeChoiceRenderer())); //$NON-NLS-1$ } // Teacher if (isTeacherVisible()) { formPanel.addElement(new ReadOnlyElement(TeachUsSession.get().getString("General.teacher"), //$NON-NLS-1$ new PropertyModel<Object>(personModel, "teacher.name"))); //$NON-NLS-1$ } // iCalendar URL formPanel.addElement( new ReadOnlyElement(TeachUsSession.get().getString("Ical.label"), new IcalUrlModel(personModel))); // Additional elements appendElements(formPanel); // Notes if (isNotesVisible()) { formPanel.addElement(new TextAreaElement("Notes", new PropertyModel<String>(personModel, "notes"))); } // Buttons formPanel.addElement(new ButtonPanelElement() { private static final long serialVersionUID = 1L; @Override protected void onCancel() { getRequestCycle().setResponsePage(getPersonsPageClass()); } @Override protected void onSave(AjaxRequestTarget target) { if (Strings.isEmpty(password1) == false) { personModel.setPassword(password1); } personModel.save(); PersonPanel.this.onSave(personModel.getObject()); getRequestCycle().setResponsePage(getPersonsPageClass()); } }); }
From source file:dk.teachus.frontend.pages.periods.PeriodPage.java
License:Apache License
public PeriodPage(final Period period) { super(UserLevel.TEACHER, true); add(new Label("editPeriodTitle", TeachUsSession.get().getString("PeriodPage.editForm"))); //$NON-NLS-1$ //$NON-NLS-2$ final FormPanel form = new FormPanel("form"); //$NON-NLS-1$ add(form);/*from w ww.java2s. com*/ // Name final StringTextFieldElement nameElement = new StringTextFieldElement( TeachUsSession.get().getString("General.name"), new PropertyModel<String>(period, "name"), true); //$NON-NLS-1$ //$NON-NLS-2$ nameElement.add(StringValidator.maximumLength(100)); nameElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(nameElement); // Begin date final DateElement beginDateElement = new DateElement(TeachUsSession.get().getString("General.startDate"), //$NON-NLS-1$ new PropertyModel<DateMidnight>(period, "beginDate")); //$NON-NLS-1$ beginDateElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(beginDateElement); // End date final DateElement endDateElement = new DateElement(TeachUsSession.get().getString("General.endDate"), //$NON-NLS-1$ new PropertyModel<DateMidnight>(period, "endDate")); //$NON-NLS-1$ endDateElement.add(new IValidator<DateMidnight>() { private static final long serialVersionUID = 1L; public void validate(IValidatable<DateMidnight> validatable) { DateMidnight date = validatable.getValue(); if (date != null) { // Check if the end date conflicts with some bookings if (period.getId() != null) { BookingDAO bookingDAO = TeachUsApplication.get().getBookingDAO(); DateTime lastBookingDate = bookingDAO.getLastBookingDate(period); if (lastBookingDate != null) { if (date.isBefore(lastBookingDate)) { ValidationError validationError = new ValidationError(); String bookingConflictMessage = TeachUsSession.get() .getString("PeriodPage.endDateBookingConflict"); bookingConflictMessage = bookingConflictMessage.replace("${lastBookingDate}", Formatters.getFormatPrettyDate().print(lastBookingDate)); validationError.setMessage(bookingConflictMessage); //$NON-NLS-1$ validatable.error(validationError); } } } } } }); form.addElement(endDateElement); // Time elements final List<Integer> hours = new ArrayList<Integer>(); DateTime dt = new DateTime().withTime(0, 0, 0, 0); final int day = dt.getDayOfMonth(); while (day == dt.getDayOfMonth()) { hours.add(dt.getMinuteOfDay()); dt = dt.plusMinutes(30); } final TimeChoiceRenderer<Integer> timeChoiceRenderer = new TimeChoiceRenderer<Integer>(); // Start time final DropDownElement<Integer> startTimeElement = new DropDownElement<Integer>( TeachUsSession.get().getString("General.startTime"), new TimeModel(new PropertyModel<LocalTime>( //$NON-NLS-1$ period, "startTime")), //$NON-NLS-1$ hours, timeChoiceRenderer, true); startTimeElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(startTimeElement); // End time final DropDownElement<Integer> endTimeElement = new DropDownElement<Integer>( TeachUsSession.get().getString("General.endTime"), //$NON-NLS-1$ new TimeModel(new PropertyModel<LocalTime>(period, "endTime")), hours, timeChoiceRenderer, true); endTimeElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(endTimeElement); // Location final StringTextFieldElement locationElement = new StringTextFieldElement( TeachUsSession.get().getString("General.location"), new PropertyModel<String>(period, "location")); //$NON-NLS-1$ //$NON-NLS-2$ locationElement.add(StringValidator.maximumLength(100)); locationElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(locationElement); // Price final DecimalFieldElement priceElement = new DecimalFieldElement( TeachUsSession.get().getString("General.price"), new PropertyModel<Double>(period, "price"), 6); //$NON-NLS-1$ //$NON-NLS-2$ priceElement.setReadOnly(period.getStatus() != Status.DRAFT); priceElement.setDefaultNullValue(0.0); form.addElement(priceElement); // Lesson duration final IntegerFieldElement lessonDurationElement = new IntegerFieldElement( TeachUsSession.get().getString("General.lessonDuration"), new PropertyModel<Integer>( //$NON-NLS-1$ period, "lessonDuration"), //$NON-NLS-1$ true, 4); lessonDurationElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(lessonDurationElement); // Interval Between Lesson Start final IntegerFieldElement intervalBetweenLessonStartElement = new IntegerFieldElement( TeachUsSession.get().getString("General.intervalBetweenLessonStart"), //$NON-NLS-1$ new PropertyModel<Integer>(period, "intervalBetweenLessonStart"), true, 4); //$NON-NLS-1$ intervalBetweenLessonStartElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(intervalBetweenLessonStartElement); // Week days final CheckGroupElement<WeekDay> weekDaysElement = new CheckGroupElement<WeekDay>( TeachUsSession.get().getString("General.weekDays"), new PropertyModel<List<WeekDay>>(period, //$NON-NLS-1$ "weekDays"), //$NON-NLS-1$ Arrays.asList(WeekDay.values()), new WeekDayChoiceRenderer(Format.LONG), true); weekDaysElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(weekDaysElement); // Repeat every week final IntegerFieldElement repeatEveryWeekElement = new IntegerFieldElement( TeachUsSession.get().getString("General.repeatEveryWeek"), //$NON-NLS-1$ new PropertyModel<Integer>(period, "repeatEveryWeek")); //$NON-NLS-1$ repeatEveryWeekElement.setReadOnly(period.getStatus() != Status.DRAFT); // repeatEveryWeekElement.setDefaultNullValue(1); form.addElement(repeatEveryWeekElement); // Status final List<Status> statusList = Arrays.asList(Status.values()); final DropDownElement<Status> statusElement = new DropDownElement<Status>( TeachUsSession.get().getString("General.status"), new PropertyModel<Status>(period, "status"), //$NON-NLS-1$//$NON-NLS-2$ statusList, new PeriodStatusRenderer()); statusElement.setReadOnly(period.getStatus() != Status.DRAFT); form.addElement(statusElement); // Buttons form.addElement(new ButtonPanelElement() { private static final long serialVersionUID = 1L; @Override protected List<IButton> getAdditionalButtons() { final List<IButton> buttons = new ArrayList<IButton>(); buttons.add(new IButton() { private static final long serialVersionUID = 1L; public String getValue() { return TeachUsSession.get().getString("General.preview"); //$NON-NLS-1$ } public void onClick(final AjaxRequestTarget target) { final WebMarkupContainer preview = generatePreview(period); PeriodPage.this.replace(preview); target.add(preview); } }); return buttons; } @Override protected void onCancel() { getRequestCycle().setResponsePage(PeriodsPage.class); } @Override protected void onSave(final AjaxRequestTarget target) { final PeriodDAO periodDAO = TeachUsApplication.get().getPeriodDAO(); periodDAO.save(period); getRequestCycle().setResponsePage(PeriodsPage.class); } }); add(new Label("previewTitle", TeachUsSession.get().getString("General.preview"))); //$NON-NLS-1$ //$NON-NLS-2$ if (period.getId() != null) { add(generatePreview(period)); } else { add(new WebComponent("calendar").setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true) .setVisible(false)); } }
From source file:eu.clarin.cmdi.virtualcollectionregistry.service.impl.HttpResponseValidator.java
License:Open Source License
@Override public void validate(IValidatable<String> validatable) { try {/* ww w .j av a 2 s .c om*/ if (!checkValidityOfUri(URI.create(validatable.getValue()))) { ValidationError error = new ValidationError(); if (status == null) { error.setMessage(String.format("There was an unkown issue when trying to connect to '%s'", validatable.getValue())); } else { error.setMessage(String.format("'%s' received invalid HTTP response: HTTP %d %s", validatable.getValue(), status.getStatusCode(), status.getReasonPhrase())); } validatable.error(error); } } catch (UnknownHostException ex) { ValidationError error = new ValidationError(); error.setMessage(String.format("Unkown host: '%s'", validatable.getValue())); validatable.error(error); } catch (IOException ex) { ValidationError error = new ValidationError(); error.setMessage(String.format("There was an I/O issue when trying to connect to '%s': %s", validatable.getValue(), ex.getMessage())); validatable.error(error); } catch (IllegalArgumentException ex) { ValidationError error = new ValidationError(); error.setMessage(String.format("Invalid URI: '%s'", validatable.getValue())); validatable.error(error); } }
From source file:net.ftlines.wicket.validation.bean.ViolationConverter.java
License:Apache License
@Override public <T> ValidationError convert(ConstraintViolation<T> violation) { ConstraintDescriptor<?> desc = violation.getConstraintDescriptor(); ValidationError error = new ValidationError(); error.setMessage(violation.getMessage()); addMessageKey(error, desc, "message"); // TODO figure out how to handle composite constraints, see desc.isReportAsSingleViolation() for (String key : desc.getAttributes().keySet()) { error.setVariable(key, desc.getAttributes().get(key)); }/*from w ww. ja v a2 s.co m*/ return error; }
From source file:org.apache.isis.viewer.wicket.ui.components.scalars.reference.ReferencePanel.java
License:Apache License
@Override protected FormGroup addComponentForRegular() { final ScalarModel scalarModel = getModel(); final String name = scalarModel.getName(); entityLink = new EntityLinkSelect2Panel(ComponentType.ENTITY_LINK.getWicketId(), this); syncWithInput();//from w w w . j a v a 2 s. c om setOutputMarkupId(true); entityLink.setOutputMarkupId(true); entityLink.setLabel(Model.of(name)); final FormGroup labelIfRegular = new FormGroup(ID_SCALAR_IF_REGULAR, entityLink); labelIfRegular.add(entityLink); final String describedAs = getModel().getDescribedAs(); if (describedAs != null) { labelIfRegular.add(new AttributeModifier("title", Model.of(describedAs))); } final Label scalarName = new Label(ID_SCALAR_NAME, getRendering().getLabelCaption(entityLink)); labelIfRegular.add(scalarName); NamedFacet namedFacet = getModel().getFacet(NamedFacet.class); if (namedFacet != null) { scalarName.setEscapeModelStrings(namedFacet.escaped()); } // find the links... final List<LinkAndLabel> entityActions = EntityActionUtil .getEntityActionLinksForAssociation(this.scalarModel, getDeploymentType()); addPositioningCssTo(labelIfRegular, entityActions); addOrReplace(labelIfRegular); addFeedbackTo(labelIfRegular, entityLink); // ... add entity links to panel (below and to right) addEntityActionLinksBelowAndRight(labelIfRegular, entityActions); // add semantics entityLink.setRequired(getModel().isRequired()); entityLink.add(new IValidator<ObjectAdapter>() { private static final long serialVersionUID = 1L; @Override public void validate(final IValidatable<ObjectAdapter> validatable) { final ObjectAdapter proposedAdapter = validatable.getValue(); final String reasonIfAny = getModel().validate(proposedAdapter); if (reasonIfAny != null) { final ValidationError error = new ValidationError(); error.setMessage(reasonIfAny); validatable.error(error); } } }); if (getModel().isRequired()) { scalarName.add(new CssClassAppender("mandatory")); } return labelIfRegular; }
From source file:org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldAbstract.java
License:Apache License
protected void addValidator() { final ScalarModel scalarModel = getModel(); textField.add(new IValidator<T>() { private static final long serialVersionUID = 1L; @Override//from w ww. ja v a2 s. com public void validate(final IValidatable<T> validatable) { final T proposedValue = validatable.getValue(); final ObjectAdapter proposedAdapter = getPersistenceSession().adapterFor(proposedValue); final String reasonIfAny = scalarModel.validate(proposedAdapter); if (reasonIfAny != null) { final ValidationError error = new ValidationError(); error.setMessage(reasonIfAny); validatable.error(error); } } }); }
From source file:org.apache.isis.viewer.wicket.ui.components.scalars.ScalarPanelTextFieldDatePickerAbstract.java
License:Apache License
private void addObjectAdapterValidator() { final AbstractTextComponent<T> textField = getTextField(); textField.add(new IValidator<T>() { private static final long serialVersionUID = 1L; @Override/*from w ww.ja va 2 s . com*/ public void validate(final IValidatable<T> validatable) { final T proposed = validatable.getValue(); final ObjectAdapter proposedAdapter = adapterFor(proposed); String reasonIfAny = scalarModel.validate(proposedAdapter); if (reasonIfAny != null) { final ValidationError error = new ValidationError(); error.setMessage(reasonIfAny); validatable.error(error); } } }); }
From source file:org.artifactory.common.wicket.component.file.path.PathAutoCompleteChrootValidator.java
License:Open Source License
@Override protected void onValidate(IValidatable validatable) { File selectedFile = (File) validatable.getValue(); try {/* ww w. ja v a2s. c om*/ if (!selectedFile.getCanonicalPath().startsWith(new File(chroot).getCanonicalPath())) { ValidationError error = new ValidationError(); error.setMessage("Selected directory is out of the defined root folder bounds."); validatable.error(error); } } catch (IOException e) { ValidationError error = new ValidationError(); error.setMessage("Error occurred during folder validation, please review the logs for further details: " + e.getMessage()); log.error("Error occurred during folder auto complete validation", e); validatable.error(error); } }