X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Forg%2Fmxchange%2Fjcoreee%2Fvalidator%2Fstring%2FBaseStringValidator.java;h=84fc78131e4fb5a675b73c743335f8c0f54d448a;hb=87ad78a7a37317c50fa1613c51159cb98772ba46;hp=c7316a2f69df5a2c7f96e228dba9f2235c31878c;hpb=a53a324e453d154ccefbbb4b8dc3290c78a28cce;p=jcore-utils.git diff --git a/src/org/mxchange/jcoreee/validator/string/BaseStringValidator.java b/src/org/mxchange/jcoreee/validator/string/BaseStringValidator.java index c7316a2..84fc781 100644 --- a/src/org/mxchange/jcoreee/validator/string/BaseStringValidator.java +++ b/src/org/mxchange/jcoreee/validator/string/BaseStringValidator.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015 Roland Haeder + * Copyright (C) 2016, 2017 Roland Häder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,7 +17,6 @@ package org.mxchange.jcoreee.validator.string; import java.text.MessageFormat; -import java.util.Arrays; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; @@ -27,37 +26,39 @@ import org.mxchange.jcoreee.validator.BaseObjectValidator; /** * A general string validation class. You normally want to inherit from this * class for many form fields, e.g. surname, street name, city name and such. - * - * @author Roland Haeder + *

+ * @author Roland Häder */ public abstract class BaseStringValidator extends BaseObjectValidator { + /** + * Serial number + */ + private static final long serialVersionUID = 15_484_578_781_760_287L; + @Override - protected void preValidate (final FacesContext context, final UIComponent component, final Object value, final String[] requiredFields) throws ValidatorException { + protected void preValidate (final FacesContext context, final UIComponent component, final Object value, final String[] requiredFields, Boolean allowNull) throws ValidatorException { // Trace message - this.getLogger().trace(MessageFormat.format("context={0},component={1},value={2},fields={3} - CALLED!", context, component, value, Arrays.toString(requiredFields))); //NOI18N + //* NOISY-DEBUG: */ System.out.println(MessageFormat.format("preValidate: context={0},component={1},value={2},fields={3} - CALLED!", context, component, value, Arrays.toString(requiredFields))); //NOI18N - // Pre-validate (e.g. on null) - super.preValidate(context, component, value, requiredFields); + // Pre-validate (example: on null) + super.preValidate(context, component, value, requiredFields, allowNull); // Get client id and init message + key String clientId = component.getClientId(); - FacesMessage facesMessage = null; - String errKey; + String requiredMessage = null; // So far all fine, no check if the field is fine for (final String field : requiredFields) { // Debug message - this.getLogger().debug(MessageFormat.format("field={0},clientId={1}", field, clientId)); //NOI18N + //this.getLogger().logDebug(MessageFormat.format("preValidate: field={0},clientId={1}", field, clientId)); //NOI18N // Is it the same? if (clientId.endsWith(field)) { // Compare value's type - if (!(value instanceof String)) { + if ((!allowNull) && (!(value instanceof String))) { // Value is empty - errKey = String.format("error.%s.is_not_string", field); //NOI18N - - facesMessage = new FacesMessage(this.getMessageStringFromKey(errKey)); + requiredMessage = MessageFormat.format("Field {0} is not String: {1}", field, value); //NOI18N } // Cast to string @@ -65,23 +66,22 @@ public abstract class BaseStringValidator extends BaseObjectValidator { // Is it empty? if (str.isEmpty()) { - // Value is empty - errKey = String.format("error.%s.is_empty", field); //NOI18N - - facesMessage = new FacesMessage(this.getMessageStringFromKey(errKey)); + // Empty strings are currently not accepted, may indicate flaw in invoker + requiredMessage = MessageFormat.format("Field {0} is empty.", field); //NOI18N } } } // Debug message - this.getLogger().debug(MessageFormat.format("facesMessage={0}", facesMessage)); //NOI18N + //this.getLogger().logDebug(MessageFormat.format("preValidate: requiredMessage={0}", requiredMessage)); //NOI18N // Is it not null? - if (null != facesMessage) { - throw new ValidatorException(facesMessage); + if (null != requiredMessage) { + // Then there was something wrong with it + throw new ValidatorException(new FacesMessage(requiredMessage)); } // Trace message - this.getLogger().trace("EXIT!"); //NOI18N + //* NOISY-DEBUG: */ System.out.println("preValidate: EXIT!"); //NOI18N } }