/*
- * Copyright (C) 2015 Roland Haeder
+ * Copyright (C) 2016 Roland Haeder
*
* 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
*/
package org.mxchange.jcoreee.validator;
+import java.io.Serializable;
import java.text.MessageFormat;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
-import org.mxchange.jcoreee.BaseEeSystem;
/**
* A general object validation class. Please implement
* <p>
* @author Roland Haeder<roland@mxchange.org>
*/
-public abstract class BaseObjectValidator extends BaseEeSystem implements Validator {
+public abstract class BaseObjectValidator implements Validator, Serializable {
/**
* Serial number
* @param context
* @param component
* @param value
+ * <p>
* @throws ValidatorException
*/
@Override
* @param component UIComponent instance
* @param value Value to check
* @param requiredFields Array of required field names (ending with)
+ * @param allowNull Wether null or empty values are allowed
+ * <p>
* @throws ValidatorException If something more horrible went wrong
*/
- 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("preValidate: context={0},component={1},value={2},requiredFields={3} - CALLED!", context, component, value, Arrays.toString(requiredFields))); //NOI18N
// Init message and key
FacesMessage facesMessage = null;
- String errKey = "ERROR_UNKNOWN_ID"; //NOI18N
// Get client id
final String clientId = component.getClientId();
isValidField = true;
// Is it null?
- if (null == value) {
- // Generate message
- errKey = String.format("ERROR_%s_IS_NULL", field.toUpperCase()); //NOI18N
-
+ if ((!allowNull) && (null == value)) {
// Value it null
- facesMessage = new FacesMessage(this.getMessageFromKey(errKey));
+ facesMessage = new FacesMessage(MessageFormat.format("Field {0} is null.", field)); //NOI18N
}
// Abort here
// Valid field?
if (!isValidField) {
// Invalid field
- facesMessage = new FacesMessage(MessageFormat.format(this.getMessageFromKey(errKey), clientId));
+ facesMessage = new FacesMessage(MessageFormat.format("Valure {0} for clientId={1} is not valid/unexpected.", value, clientId)); //NOI18N
}
// Debug message