*/
package org.mxchange.jcoreee.validator.string;
+import java.text.MessageFormat;
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.
- *
+ * <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("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) {
// Compare value's type
if (!(value instanceof String)) {
// Value is empty
- errKey = String.format("ERROR_%s_IS_NOT_STRING", field.toUpperCase()); //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.toUpperCase()); //NOI18N
-
- facesMessage = new FacesMessage(getMessageStringFromKey(errKey));
+ // Generate message
+ facesMessage = new FacesMessage(MessageFormat.format("Field {0} is empty.", field)); //NOI18N
}
}
}