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;
/**
* 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
+ * <p>
+ * @author Roland Haeder<roland@mxchange.org>
*/
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().logTrace(MessageFormat.format("context={0},component={1},value={2},fields={3} - CALLED!", context, component, value, Arrays.toString(requiredFields))); //NOI18N
+ //this.getLogger().logTrace(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;
// So far all fine, no check if the field is fine
for (final String field : requiredFields) {
// Debug message
- this.getLogger().logDebug(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)) {
// Value is empty
- errKey = String.format("error.%s.is_not_string", field); //NOI18N
-
- facesMessage = new FacesMessage(getMessageStringFromKey(errKey));
+ facesMessage = new FacesMessage(MessageFormat.format("Field {0} is not set to String.", field)); //NOI18N
}
// Cast to string
// Is it empty?
if (str.isEmpty()) {
- // Value is empty
- errKey = String.format("error.%s.is_empty", field); //NOI18N
-
- facesMessage = new FacesMessage(getMessageStringFromKey(errKey));
+ // Generate message
+ facesMessage = new FacesMessage(MessageFormat.format("Field {0} is empty.", field)); //NOI18N
}
}
}
// Debug message
- this.getLogger().logDebug(MessageFormat.format("facesMessage={0}", facesMessage)); //NOI18N
-
+ //this.getLogger().logDebug(MessageFormat.format("preValidate: facesMessage={0}", facesMessage)); //NOI18N
// Is it not null?
if (null != facesMessage) {
throw new ValidatorException(facesMessage);
}
// Trace message
- this.getLogger().logTrace("EXIT!"); //NOI18N
+ //this.getLogger().logTrace("preValidate: EXIT!"); //NOI18N
}
}