protected boolean handleValidationErrors(ValidationErrors errors) { if (errors.isEmpty()) return true; WebComponentsHelper.focusProblemComponent(errors); return false; }
protected boolean handleValidationErrors(ValidationErrors errors) { if (errors.isEmpty()) { return true; } WebComponentsHelper.focusProblemComponent(errors); return false; }
public void validateAdditionalRules(ValidationErrors errors) { // all previous validations return no errors if (crossFieldValidate && errors.isEmpty()) { BeanValidation beanValidation = getBeanLocator().get(BeanValidation.NAME); Validator validator = beanValidation.getValidator(); Set<ConstraintViolation<Entity>> violations = validator.validate(getItem(), UiCrossFieldChecks.class); violations.stream() .filter(violation -> { Path propertyPath = violation.getPropertyPath(); Path.Node lastNode = Iterables.getLast(propertyPath); return lastNode.getKind() == ElementKind.BEAN; }) .forEach(violation -> errors.add(violation.getMessage())); } }
protected boolean handleValidationErrors(ValidationErrors errors) { postValidate(errors); if (errors.isEmpty()) return true; ScreenValidation screenValidation = getBeanLocator().get(ScreenValidation.class); screenValidation.showValidationErrors(this, errors); return false; }
@Override public boolean applyChanges() { ValidationErrors errors = validatePivotTableDescription(getPivotTableDescription()); if (!errors.isEmpty()) { showValidationErrors(errors); return false; } getReportTemplate().setPivotTableDescription(getPivotTableDescription()); return true; }
protected void validateAdditionalRules(ValidationErrors errors) { // all previous validations return no errors if (isCrossFieldValidate() && errors.isEmpty()) { ScreenValidation screenValidation = getBeanLocator().get(ScreenValidation.NAME); ValidationErrors validationErrors = screenValidation.validateCrossFieldRules(this, getEditedEntity()); errors.addAll(validationErrors); } }
/** * Show validation alert with passed errors and first problem UI component. * * @param origin screen controller * @param errors validation error */ public void showValidationErrors(FrameOwner origin, ValidationErrors errors) { checkNotNullArgument(origin); checkNotNullArgument(errors); if (errors.isEmpty()) { return; } StringBuilder buffer = new StringBuilder(); for (ValidationErrors.Item error : errors.getAll()) { buffer.append(error.description).append("\n"); } ClientConfig clientConfig = configuration.getConfig(ClientConfig.class); String validationNotificationType = clientConfig.getValidationNotificationType(); if (validationNotificationType.endsWith("_HTML")) { // HTML validation notification types are not supported validationNotificationType = validationNotificationType.replace("_HTML", ""); } Notifications notifications = getScreenContext(origin).getNotifications(); notifications.create(NotificationType.valueOf(validationNotificationType)) .withCaption(messages.getMainMessage("validationFail.caption")) .withDescription(buffer.toString()) .show(); focusProblemComponent(errors); }
/** * Validates the cross-field rules if passed validation errors are empty. * * @param errors errors found during components validation */ protected void validateAdditionalRules(ValidationErrors errors) { // all previous validations return no errors if (isCrossFieldValidate() && errors.isEmpty()) { ScreenValidation screenValidation = getBeanLocator().get(ScreenValidation.NAME); ValidationErrors validationErrors = screenValidation.validateCrossFieldRules(this, getEditContainer().getItem()); errors.addAll(validationErrors); } }
@Override protected void initPreviewContent(BoxLayout previewBox) { previewBox.removeAll(); PivotTableDescription pivotTableDescription = getPivotTableDescription(); ValidationErrors errors = validatePivotTableDescription(pivotTableDescription); if (errors.isEmpty()) { List<KeyValueEntity> data = dataGenerator.generate(pivotTableDescription, 10); Frame frame = openFrame(previewBox, ShowPivotTableController.PIVOT_TABLE_SCREEN_ID, ParamsMap.of( "pivotTableJson", PivotTableDescription.toJsonString(pivotTableDescription), "values", data)); frame.setHeight("472px"); } }
/** * Validates screen and commits data context. * * @return operation result */ protected OperationResult commitChanges() { ValidationErrors validationErrors = validateScreen(); if (!validationErrors.isEmpty()) { ScreenValidation screenValidation = getBeanLocator().get(ScreenValidation.class); screenValidation.showValidationErrors(this, validationErrors); return OperationResult.fail(); } getScreenData().getDataContext().commit(); return OperationResult.success(); }
@Override protected void postValidate(ValidationErrors errors) { super.postValidate(errors); String password = passwField.getValue(); if (errors.isEmpty()) { String currentPassword = currentPasswordField.getValue(); String passwordConfirmation = confirmPasswField.getValue(); UUID targetUserId; if (user == null) { targetUserId = userSession.getUser().getId(); } else { targetUserId = user.getId(); } if (currentPasswordRequired && !userManagementService.checkPassword(targetUserId, currentPassword)) { errors.add(currentPasswordField, getMessage("wrongCurrentPassword")); } else if (userManagementService.checkPassword(targetUserId, password)) { errors.add(passwField, getMessage("currentPasswordWarning")); } else if (!Objects.equals(password, passwordConfirmation)) { errors.add(confirmPasswField, getMessage("passwordsDoNotMatch")); } else { if (clientConfig.getPasswordPolicyEnabled()) { String regExp = clientConfig.getPasswordPolicyRegExp(); if (!password.matches(regExp)) { errors.add(passwField, getMessage("simplePassword")); } } } } }
/** * Method invoked when clicking on the Ok button after editing an existing or creating a new record. */ public void saveChanges() { if (!editing) return; ValidationErrors validationErrors = validateEditorForm(); if (!validationErrors.isEmpty()) { ScreenValidation screenValidation = getBeanLocator().get(ScreenValidation.class); screenValidation.showValidationErrors(this, validationErrors); return; } getScreenData().getDataContext().commit(); T editedItem = getEditContainer().getItem(); if (creating) { getBrowseContainer().getMutableItems().add(0, editedItem); } else { getBrowseContainer().replaceItem(editedItem); } getTable().setSelected(editedItem); releaseLock(); disableEditControls(); }