Example usage for org.apache.commons.validator GenericValidator isBlankOrNull

List of usage examples for org.apache.commons.validator GenericValidator isBlankOrNull

Introduction

In this page you can find the example usage for org.apache.commons.validator GenericValidator isBlankOrNull.

Prototype

public static boolean isBlankOrNull(String value) 

Source Link

Document

Checks if the field isn't null and length of the field is greater than zero not including whitespace.

Usage

From source file:org.sgrp.singer.validator.ArrayFieldChecks.java

/**
 * Checks for each value of the field if it can safely be converted to an int primitive.
 *
 * @param  bean     The bean validation is being performed on.
 * @param  va       The <code>ValidatorAction</code> that is currently being performed.
 * @param  field    The <code>Field</code> object associated with the current
 *      field being validated.// w  ww  .ja  v  a 2 s  .c o  m
 * @param  errors   The <code>ActionMessages</code> object to add errors to if any
 *      validation errors occur.
 * @param  request  Current request object.
 * @return true if valid, false otherwise.
 */
public static Object[] validateInteger(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        HttpServletRequest request) {

    String[] value = null;
    if (isStringArray(bean)) {
        value = (String[]) bean;
    } else {
        value = new String[0];
    }

    Object[] result = new Object[value.length];

    for (int i = 0; i < value.length; i++) {
        if (GenericValidator.isBlankOrNull(value[i])) {
            result[i] = Boolean.TRUE;
        } else {
            result[i] = GenericTypeValidator.formatInt(value[i]);
        }

        if (result[i] == null) {
            errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
            result[i] = Boolean.FALSE;
        }
    }
    return result;
}

From source file:org.sgrp.singer.validator.ArrayFieldChecks.java

/**
 *  Checks for each value if it can safely be converted to a double primitive.
 *
 * @param  bean     The bean validation is being performed on.
 * @param  va       The <code>ValidatorAction</code> that is currently being performed.
 * @param  field    The <code>Field</code> object associated with the current
 *      field being validated./*from  ww w. j  a v a  2  s .c o  m*/
 * @param  errors   The <code>ActionMessages</code> object to add errors to if any
 *      validation errors occur.
 * @param  request  Current request object.
 * @return true if valid, false otherwise.
 */
public static Object[] validateDouble(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        HttpServletRequest request) {

    String[] value = null;
    if (isStringArray(bean)) {
        value = (String[]) bean;
    } else {
        value = new String[0];
    }

    Object[] result = new Object[value.length];
    for (int i = 0; i < value.length; i++) {
        if (GenericValidator.isBlankOrNull(value[i])) {
            result[i] = Boolean.TRUE;
        } else {
            result[i] = GenericTypeValidator.formatDouble(value[i]);
        }

        if (result[i] == null) {
            errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
            result[i] = Boolean.FALSE;
        }
    }

    return result;
}

From source file:org.sgrp.singer.validator.ArrayFieldChecks.java

/**
 *  Checks if the field is a valid date. If the field has a datePattern variable,
 *  that will be used to format <code>java.text.SimpleDateFormat</code>. If the
 *  field has a datePatternStrict variable, that will be used to format <code>java.text.SimpleDateFormat</code>
 *  and the length will be checked so '2/12/1999' will not pass validation with
 *  the format 'MM/dd/yyyy' because the month isn't two digits. If no datePattern
 *  variable is specified, then the field gets the DateFormat.SHORT format for
 *  the locale. The setLenient method is set to <code>false</code> for all variations.
 *
 * @param  bean     The bean validation is being performed on.
 * @param  va       The <code>ValidatorAction</code> that is currently being performed.
 * @param  field    The <code>Field</code> object associated with the current
 *      field being validated./*from ww w. j  a  va2  s.co m*/
 * @param  errors   The <code>ActionMessages</code> object to add errors to if any
 *      validation errors occur.
 * @param  request  Current request object.
 * @return true if valid, false otherwise.
 */
public static Object[] validateDate(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        HttpServletRequest request) {

    String[] value = null;
    if (isStringArray(bean)) {
        value = (String[]) bean;
    } else {
        value = new String[0];
    }
    Object[] result = new Object[value.length];

    String datePattern = field.getVarValue("datePattern");
    String datePatternStrict = field.getVarValue("datePatternStrict");
    Locale locale = RequestUtils.getUserLocale(request, null);

    for (int i = 0; i < value.length; i++) {
        if (GenericValidator.isBlankOrNull(value[i])) {
            result[i] = Boolean.TRUE;
        }

        try {
            if (datePattern != null && datePattern.length() > 0) {
                result[i] = GenericTypeValidator.formatDate(value[i], datePattern, false);
            } else if (datePatternStrict != null && datePatternStrict.length() > 0) {
                result[i] = GenericTypeValidator.formatDate(value[i], datePatternStrict, true);
            } else {
                result[i] = GenericTypeValidator.formatDate(value[i], locale);
            }
        } catch (Exception e) {
            log.error(e.getMessage(), e);
        }

        if (result[i] == null) {
            errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
            result[i] = Boolean.FALSE;
        }
    }
    return result;
}

From source file:org.sgrp.singer.validator.ArrayFieldChecks.java

/**
 * Checks if a fields value is within a range (min &amp; max specified in the
 * vars attribute).//from w ww .j  a va 2 s.c  o m
 *
 * @param  bean     The bean validation is being performed on.
 * @param  va       The <code>ValidatorAction</code> that is currently being performed.
 * @param  field    The <code>Field</code> object associated with the current
 *      field being validated.
 * @param  errors   The <code>ActionMessages</code> object to add errors to if any
 *      validation errors occur.
 * @param  request  Current request object.
 * @return True if in range, false otherwise.
 */
public static boolean validateIntRange(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        HttpServletRequest request) {

    String[] value = null;
    if (isStringArray(bean)) {
        value = (String[]) bean;
    } else {
        value = new String[0];
    }
    for (int i = 0; i < value.length; i++) {
        if (!GenericValidator.isBlankOrNull(value[i])) {
            try {
                int intValue = Integer.parseInt(value[i]);
                int min = Integer.parseInt(field.getVarValue("min"));
                int max = Integer.parseInt(field.getVarValue("max"));

                if (!GenericValidator.isInRange(intValue, min, max)) {
                    errors.add(field.getKey(), Resources.getActionMessage(request, va, field));

                    return false;
                }
            } catch (Exception e) {
                errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
                return false;
            }
        }
    }

    return true;
}

From source file:org.sgrp.singer.validator.ArrayFieldChecks.java

/**
 *  Checks if a fields value is within a range (min &amp; max specified in the
 *  vars attribute).//from  w w  w .ja  v a2 s .c  o m
 *
 * @param  bean     The bean validation is being performed on.
 * @param  va       The <code>ValidatorAction</code> that is currently being performed.
 * @param  field    The <code>Field</code> object associated with the current
 *      field being validated.
 * @param  errors   The <code>ActionMessages</code> object to add errors to if any
 *      validation errors occur.
 * @param  request  Current request object.
 * @return          True if in range, false otherwise.
 */
public static boolean validateDoubleRange(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        HttpServletRequest request) {

    String[] value = null;
    if (isStringArray(bean)) {
        value = (String[]) bean;
    } else {
        value = new String[0];
    }
    for (int i = 0; i < value.length; i++) {
        if (!GenericValidator.isBlankOrNull(value[i])) {
            try {
                double doubleValue = Double.parseDouble(value[i]);
                double min = Double.parseDouble(field.getVarValue("min"));
                double max = Double.parseDouble(field.getVarValue("max"));

                if (!GenericValidator.isInRange(doubleValue, min, max)) {
                    errors.add(field.getKey(), Resources.getActionMessage(request, va, field));

                    return false;
                }
            } catch (Exception e) {
                errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
                return false;
            }
        }
    }

    return true;
}

From source file:org.sgrp.singer.validator.ArrayFieldChecks.java

/**
 * Checks if the field's length is greater than or equal to the minimum value.
 * A <code>Null</code> will be considered an error.
 *
 * @param  bean     The bean validation is being performed on.
 * @param  va       The <code>ValidatorAction</code> that is currently being performed.
 * @param  field    The <code>Field</code> object associated with the current
 *      field being validated./*  www .  j  a va  2s.  c o  m*/
 * @param  errors   The <code>ActionMessages</code> object to add errors to if any
 *      validation errors occur.
 * @param  request  Current request object.
 * @return True if stated conditions met.
 */
public static boolean validateMinLength(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        HttpServletRequest request) {

    String[] value = null;
    if (isStringArray(bean)) {
        value = (String[]) bean;
    } else {
        value = new String[0];
    }

    for (int i = 0; i < value.length; i++) {
        if (!GenericValidator.isBlankOrNull(value[i])) {
            try {
                int min = Integer.parseInt(field.getVarValue("minlength"));

                if (!GenericValidator.minLength(value[i], min)) {
                    errors.add(field.getKey(), Resources.getActionMessage(request, va, field));

                    return false;
                }
            } catch (Exception e) {
                errors.add(field.getKey(), Resources.getActionMessage(request, va, field));
                return false;
            }
        }
    }

    return true;
}

From source file:org.springmodules.commons.validator.FieldChecks.java

/**
 * Checks if the field isn't null and length of the field is greater than zero not including whitespace.
 *
 * @param bean The bean validation is being performed on.
 * @param va The <code>ValidatorAction</code> that is currently being performed.
 * @param field The <code>Field</code> object associated with the current field being validated.
 * @param errors The <code>Errors</code> object to add errors to if any validation errors occur.
 * @return <code>true</code> if meets stated requirements, <code>false</code> otherwise.
 *//*from   w ww  .  j  a  v a2s . c om*/
public static boolean validateRequired(Object bean, ValidatorAction va, Field field, Errors errors) {

    String value = extractValue(bean, field);

    if (GenericValidator.isBlankOrNull(value)) {
        rejectValue(errors, field, va);
        return false;
    } else {
        return true;
    }

}

From source file:org.springmodules.commons.validator.FieldChecks.java

/**
 * Checks if the field isn't null based on the values of other fields.
 *
 * @param bean The bean validation is being performed on.
 * @param va The <code>ValidatorAction</code> that is currently being
 * performed.//from   w  w  w. j  av  a  2 s .  c o  m
 * @param field The <code>Field</code> object associated with the current
 * field being validated.
 * @param errors The <code>Errors</code> object to add errors to if any
 * validation errors occur.
 * @param validator The <code>Validator</code> instance, used to access other
 * field values.
 * -param request
 * Current request object.
 * @return true if meets stated requirements, false otherwise.
 */
public static boolean validateRequiredIf(Object bean, ValidatorAction va, Field field, Errors errors,
        org.apache.commons.validator.Validator validator) {

    Object form = validator.getParameterValue(org.apache.commons.validator.Validator.BEAN_PARAM);

    boolean required = false;

    String value = extractValue(bean, field);

    int i = 0;
    String fieldJoin = "AND";
    if (!GenericValidator.isBlankOrNull(field.getVarValue("fieldJoin"))) {
        fieldJoin = field.getVarValue("fieldJoin");
    }

    if (fieldJoin.equalsIgnoreCase("AND")) {
        required = true;
    }

    while (!GenericValidator.isBlankOrNull(field.getVarValue("field[" + i + "]"))) {
        String dependProp = field.getVarValue("field[" + i + "]");
        String dependTest = field.getVarValue("fieldTest[" + i + "]");
        String dependTestValue = field.getVarValue("fieldValue[" + i + "]");
        String dependIndexed = field.getVarValue("fieldIndexed[" + i + "]");

        if (dependIndexed == null) {
            dependIndexed = "false";
        }

        String dependVal = null;
        boolean thisRequired = false;
        if (field.isIndexed() && dependIndexed.equalsIgnoreCase("true")) {
            String key = field.getKey();
            if ((key.indexOf("[") > -1) && (key.indexOf("]") > -1)) {
                String ind = key.substring(0, key.indexOf(".") + 1);
                dependProp = ind + dependProp;
            }
        }

        dependVal = ValidatorUtils.getValueAsString(form, dependProp);
        if (dependTest.equals(FIELD_TEST_NULL)) {
            if ((dependVal != null) && (dependVal.length() > 0)) {
                thisRequired = false;
            } else {
                thisRequired = true;
            }
        }

        if (dependTest.equals(FIELD_TEST_NOTNULL)) {
            if ((dependVal != null) && (dependVal.length() > 0)) {
                thisRequired = true;
            } else {
                thisRequired = false;
            }
        }

        if (dependTest.equals(FIELD_TEST_EQUAL)) {
            thisRequired = dependTestValue.equalsIgnoreCase(dependVal);
        }

        if (fieldJoin.equalsIgnoreCase("AND")) {
            required = required && thisRequired;
        } else {
            required = required || thisRequired;
        }

        i++;
    }

    if (required) {
        if (GenericValidator.isBlankOrNull(value)) {
            rejectValue(errors, field, va);
            return false;
        } else {
            return true;
        }
    }
    return true;
}

From source file:org.springmodules.commons.validator.FieldChecks.java

/**
 * Checks if the field matches the regular expression in the field's mask
 * attribute.//from w ww.j av a  2s.c  om
 *
 * @param bean The bean validation is being performed on.
 * @param va The <code>ValidatorAction</code> that is currently being
 * performed.
 * @param field The <code>Field</code> object associated with the current
 * field being validated.
 * @param errors The <code>Errors</code> object to add errors to if any
 * validation errors occur.
 * -param request
 * Current request object.
 * @return true if field matches mask, false otherwise.
 */
public static boolean validateMask(Object bean, ValidatorAction va, Field field, Errors errors) {
    String mask = field.getVarValue("mask");
    String value = extractValue(bean, field);
    try {
        if (!GenericValidator.isBlankOrNull(value) && !GenericValidator.matchRegexp(value, mask)) {
            rejectValue(errors, field, va);
            return false;
        } else {
            return true;
        }
    } catch (Exception e) {
        log.error(e.getMessage(), e);
    }
    return true;
}

From source file:org.springmodules.commons.validator.FieldChecks.java

/**
 * Checks if the field can safely be converted to a byte primitive.
 *
 * @param bean The bean validation is being performed on.
 * @param va The <code>ValidatorAction</code> that is currently being
 * performed./*from   w w w  . ja va 2  s.  c  om*/
 * @param field The <code>Field</code> object associated with the current
 * field being validated.
 * @param errors The <code>Errors</code> object to add errors to if any
 * validation errors occur.
 * -param request
 * Current request object.
 * @return A Byte if valid, null otherwise.
 */
public static Byte validateByte(Object bean, ValidatorAction va, Field field, Errors errors) {

    Byte result = null;
    String value = extractValue(bean, field);

    if (!GenericValidator.isBlankOrNull(value)) {
        result = GenericTypeValidator.formatByte(value);
        if (result == null) {
            rejectValue(errors, field, va);
        }
    }
    return result;
}