Example usage for org.apache.commons.validator.util ValidatorUtils getValueAsString

List of usage examples for org.apache.commons.validator.util ValidatorUtils getValueAsString

Introduction

In this page you can find the example usage for org.apache.commons.validator.util ValidatorUtils getValueAsString.

Prototype

public static String getValueAsString(Object bean, String property) 

Source Link

Document

Convenience method for getting a value from a bean property as a String.

Usage

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksEx.java

/**
 * wtB?[h~? `FbN?B//from w  ww  .j  a v a2s  . c o m
 * 
 * <p>
 * G?[???AG?[????A wG?[?Xg?B G?[?bZ?[WtH?[}bg?A
 * <code>validation-rules.xml</code>L?q?B<br>
 * ?A~`FbN??B
 * </p>
 * <h5>validation.xmlL?q</h5>
 * <code><pre>
 * &lt;form name=&quot;/sample&quot;&gt;
 *  ?E?E?E
 *  &lt;field property=&quot;escape&quot;
 *      depends=&quot;prohibited&quot;&gt;
 *    &lt;arg0 key=&quot;sample.escape&quot;/&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;chars&lt;/var-name&gt;
 *      &lt;var-value&gt;!&quot;#$%&amp;'()&lt;/var-value&gt;
 *    &lt;/var&gt;
 *  &lt;/field&gt;
 *  ?E?E?E
 * &lt;/form&gt;
 * </pre></code>
 * <h5>validation.xml?v&lt;var&gt;vf</h5>
 * <table border="1">
 * <tr>
 * <td><center><b><code>var-name</code></b></center></td>
 * <td><center><b><code>var-value</code></b></center></td>
 * <td><center><b>K?{?</b></center></td>
 * <td><center><b>Tv</b></center></td>
 * </tr>
 * <tr>
 * <td> chars </td>
 * <td>~LN^</td>
 * <td>false</td>
 * <td>?A~LN^?A <code>false</code>p?B?<code>true</code></td>
 * </tr>
 * </table>
 * 
 * @param bean
 *            ??IuWFNg
 * @param va
 *            <code>Validator</code>p <code>ValidatorAction</code>
 * @param field
 *            tB?[hIuWFNg
 * @param errors
 *            ANVG?[
 * @param validator
 *            ValidatorCX^X
 * @param request
 *            HTTPNGXg
 * @return l? <code>true</code>
 */
public static boolean validateProhibited(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        Validator validator, HttpServletRequest request) {

    // beannull?AG?[?O?o?Atruep?B
    if (bean == null) {
        log.error("bean is null.");
        return true;
    }

    // ~
    String prohibitedStr = field.getVarValue("chars");
    if (prohibitedStr == null || "".equals(prohibitedStr)) {
        // ~null?Atruep
        return true;
    }

    String value = null;
    if (isString(bean)) {
        value = (String) bean;
    } else {
        value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    }

    // ?lnull?Atruep
    if (StringUtils.isEmpty(value)) {
        return true;
    }

    char[] chars = value.toCharArray();

    // ~????A`FbN?s
    for (int i = 0; i < chars.length; i++) {
        if (prohibitedStr.indexOf(chars[i]) >= 0) {
            errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
            return false;
        }
    }
    return true;
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksEx.java

/**
 * wtB?[hv`FbN?B/*from   ww  w . j a v a 2s.com*/
 * 
 * <p>
 * G?[???AG?[????A wG?[?Xg?B G?[?bZ?[WtH?[}bg?A
 * <code>validation-rules.xml</code>L?q?B<br>
 * ?A5<code>true</code>p ???B
 * </p>
 * <h5>validation.xmlL?q</h5>
 * <code><pre>
 * &lt;form name=&quot;/sample&quot;&gt;
 *  ?E?E?E
 *  &lt;field property=&quot;escape&quot;
 *      depends=&quot;stringLength&quot;&gt;
 *    &lt;arg0 key=&quot;sample.escape&quot;/&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;length&lt;/var-name&gt;
 *      &lt;var-value&gt;5&lt;/var-value&gt;
 *    &lt;/var&gt;
 *  &lt;/field&gt;
 *  ?E?E?E
 * &lt;/form&gt;
 * </pre></code>
 * <h5>validation.xml?v&lt;var&gt;vf</h5>
 * <table border="1">
 * <tr>
 * <td><center><b><code>var-name</code></b></center></td>
 * <td><center><b><code>var-value</code></b></center></td>
 * <td><center><b>K?{?</b></center></td>
 * <td><center><b>Tv</b></center></td>
 * </tr>
 * <tr>
 * <td> stringLength </td>
 * <td>?</td>
 * <td>false</td>
 * <td>w? <code>true</code> ?<code>true</code>p?B</td>
 * </tr>
 * </table>
 * 
 * @param bean
 *            ??IuWFNg
 * @param va
 *            ValidatorpValidatorAction
 * @param field
 *            tB?[hIuWFNg
 * @param errors
 *            ANVG?[
 * @param validator
 *            ValidatorCX^X
 * @param request
 *            HTTPNGXg
 * @return l? <code>true</code>
 */
public static boolean validateStringLength(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        Validator validator, HttpServletRequest request) {

    // beannull?AG?[?O?o?Atruep?B
    if (bean == null) {
        log.error("bean is null.");
        return true;
    }

    // 
    String lengthStr = field.getVarValue("stringLength");
    // w??A`FbN?s
    if (lengthStr == null || "".equals(lengthStr)) {
        return true;
    }
    String value = null;
    if (isString(bean)) {
        value = (String) bean;
    } else {
        value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    }
    // ?lnull?Atruep
    if (GenericValidator.isBlankOrNull(value)) {
        return true;
    }

    int checkLength = 0;
    try {
        checkLength = Integer.valueOf(lengthStr).intValue();
    } catch (NumberFormatException e) {
        // wints\??
        log.error("stringLength is not numeric(integer).", e);
        return true;
    }
    // length?Afalsep
    if (value.length() != checkLength) {
        errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
        return false;
    }

    return true;
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksEx.java

/**
 * wtB?[hoCgv`FbN?B/*from   ww w. j  a  v a2  s . c o  m*/
 * 
 * <p>
 * G?[???AG?[????A wG?[?Xg?B G?[?bZ?[WtH?[}bg?A
 * <code>validation-rules.xml</code>L?q?B<br>
 * ?AoCg5<code>true</code>p ???B
 * </p>
 * <h5>validation.xmlL?q</h5>
 * <code><pre>
 * &lt;form name=&quot;/sample&quot;&gt;
 *  ?E?E?E
 *  &lt;field property=&quot;escape&quot;
 *      depends=&quot;byteLength&quot;&gt;
 *    &lt;arg0 key=&quot;sample.escape&quot;/&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;byteLength&lt;/var-name&gt;
 *      &lt;var-value&gt;5&lt;/var-value&gt;
 *    &lt;/var&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;encoding&lt;/var-name&gt;
 *      &lt;var-value&gt;Windows-31J&lt;/var-value&gt;
 *    &lt;/var&gt;
 *  &lt;/field&gt;
 *  ?E?E?E
 * &lt;/form&gt;
 * </pre></code>
 * <h5>validation.xml?v&lt;var&gt;vf</h5>
 * <table border="1">
 * <tr>
 * <td><center><b><code>var-name</code></b></center></td>
 * <td><center><b><code>var-value</code></b></center></td>
 * <td><center><b>K?{?</b></center></td>
 * <td><center><b>Tv</b></center></td>
 * </tr>
 * <tr>
 * <td> byteLength </td>
 * <td>oCg?</td>
 * <td>false</td>
 * <td>oCg?oCg?B</td>
 * </tr>
 * <tr>
 * <td> encoding </td>
 * <td>GR?[fBO</td>
 * <td>false</td>
 * <td>oCg?gpGR?[fBO?B ???VMftHgGR?[fBOgp?B</td>
 * </tr>
 * </table>
 * 
 * @param bean
 *            ??IuWFNg
 * @param va
 *            ValidatorpValidatorAction
 * @param field
 *            tB?[hIuWFNg
 * @param errors
 *            ANVG?[
 * @param validator
 *            ValidatorCX^X
 * @param request
 *            HTTPNGXg
 * @return l? <code>true</code>
 */
public static boolean validateByteLength(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        Validator validator, HttpServletRequest request) {

    // beannull?AG?[?O?o?Atruep?B
    if (bean == null) {
        log.error("bean is null.");
        return true;
    }

    // l
    String value = null;
    if (isString(bean)) {
        value = (String) bean;
    } else {
        value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    }
    // ?lnull?Atruep
    if (GenericValidator.isBlankOrNull(value)) {
        return true;
    }

    // oCg
    String lengthStr = field.getVarValue("byteLength");
    // oCgw??A`FbN?s
    if (lengthStr == null || "".equals(lengthStr)) {
        if (log.isInfoEnabled()) {
            log.info("length is not specified.");
        }
        return true;
    }
    int checkLength = 0;
    try {
        checkLength = Integer.valueOf(lengthStr).intValue();
    } catch (NumberFormatException e) {
        // wints\??
        log.error("byteLength is not numeric(integer).", e);
        return true;
    }

    // GR?[fBO
    String encoding = field.getVarValue("encoding");

    int bytesLength = getByteLength(value, encoding);

    // oCg?length?Afalsep
    if (bytesLength != checkLength) {
        errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
        return false;
    }

    return true;
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksEx.java

/**
 * wtB?[hoCg w`FbN?B/*from  w w w. j a  v a 2  s  . c  o m*/
 * 
 * <p>
 * G?[???AG?[????A wG?[?Xg?B G?[?bZ?[WtH?[}bg?A
 * <code>validation-rules.xml</code>L?q?B<br>
 * ?AoCg5??A10 <code>true</code> p???B
 * </p>
 * <h5>validation.xmlL?q</h5>
 * <code><pre>
 * &lt;form name=&quot;/sample&quot;&gt;
 *  ?E?E?E
 *  &lt;field property=&quot;escape&quot;
 *      depends=&quot;byteRange&quot;&gt;
 *    &lt;arg0 key=&quot;sample.escape&quot;/&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;maxByte&lt;/var-name&gt;
 *      &lt;var-value&gt;10&lt;/var-value&gt;
 *    &lt;/var&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;minByte&lt;/var-name&gt;
 *      &lt;var-value&gt;5&lt;/var-value&gt;
 *    &lt;/var&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;encoding&lt;/var-name&gt;
 *      &lt;var-value&gt;Windows-31J&lt;/var-value&gt;
 *    &lt;/var&gt;
 *  &lt;/field&gt;
 *  ?E?E?E
 * &lt;/form&gt;
 * </pre></code>
 * <h5>validation.xml?v&lt;var&gt;vf</h5>
 * <table border="1">
 * <tr>
 * <td><center><b><code>var-name</code></b></center></td>
 * <td><center><b><code>var-value</code></b></center></td>
 * <td><center><b>K?{?</b></center></td>
 * <td><center><b>Tv</b></center></td>
 * </tr>
 * <tr>
 * <td> maxByte </td>
 * <td>?oCg?</td>
 * <td>false</td>
 * <td>oCg??oCg?B ???int^?l?B</td>
 * </tr>
 * <tr>
 * <td> minByte </td>
 * <td>?oCg?</td>
 * <td>false</td>
 * <td>oCg???oCg?B ???0?B</td>
 * </tr>
 * <tr>
 * <td> encoding </td>
 * <td>GR?[fBO</td>
 * <td>false</td>
 * <td>oCg?gpGR?[fBO?B ???VMftHgGR?[fBOgp?B</td>
 * </tr>
 * </table>
 * 
 * @param bean
 *            ??IuWFNg
 * @param va
 *            ValidatorpValidatorAction
 * @param field
 *            tB?[hIuWFNg
 * @param errors
 *            ANVG?[
 * @param validator
 *            ValidatorCX^X
 * @param request
 *            HTTPNGXg
 * @return l? <code>true</code>
 */
public static boolean validateByteRange(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        Validator validator, HttpServletRequest request) {

    // beannull?AG?[?O?o?Atruep?B
    if (bean == null) {
        log.error("bean is null.");
        return true;
    }

    // l
    String value = null;
    if (isString(bean)) {
        value = (String) bean;
    } else {
        value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    }

    // ?lnull?Atruep
    if (GenericValidator.isBlankOrNull(value)) {
        return true;
    }

    // GR?[fBO
    String encoding = field.getVarValue("encoding");

    // oCg
    int bytesLength = getByteLength(value, encoding);

    int min = 0;
    String minStr = field.getVarValue("minByte");
    if (!GenericValidator.isBlankOrNull(minStr)) {
        try {
            min = Integer.parseInt(minStr);
        } catch (NumberFormatException e) {
            log.error("", e);
        }
    }

    int max = Integer.MAX_VALUE;
    String maxStr = field.getVarValue("maxByte");
    if (!GenericValidator.isBlankOrNull(maxStr)) {
        try {
            max = Integer.parseInt(maxStr);
        } catch (NumberFormatException e) {
            log.error("", e);
        }
    }

    if (!GenericValidator.isInRange(bytesLength, min, max)) {
        errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
        return false;
    }
    return true;
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksEx.java

/**
 * tw`FbN?B/*from  ww w.jav  a  2  s.  c o  m*/
 * 
 * <p>
 * G?[???AG?[????A wG?[?Xg?B G?[?bZ?[WtH?[}bg?A
 * <code>validation-rules.xml</code>L?q?B<br>
 * ?At2000/01/012010/12/31 ???B
 * </p>
 * <h5>validation.xmlL?q</h5>
 * <code><pre>
 * &lt;form name=&quot;/sample&quot;&gt;
 *  ?E?E?E
 *  &lt;field property=&quot;date&quot;
 *      depends=&quot;dateRange&quot;&gt;
 *    &lt;arg key=&quot;label.date&quot; position=&quot;0&quot;/&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;startDate&lt;/var-name&gt;
 *      &lt;var-value&gt;2000/01/01&lt;/var-value&gt;
 *    &lt;/var&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;endDate&lt;/var-name&gt;
 *      &lt;var-value&gt;2010/12/31&lt;/var-value&gt;
 *    &lt;/var&gt;
 *    &lt;var&gt;
 *      &lt;var-name&gt;datePattern&lt;/var-name&gt;
 *      &lt;var-value&gt;yyyy/MM/dd&lt;/var-value&gt;
 *    &lt;/var&gt;
 *  &lt;/field&gt;
 *  ?E?E?E
 * &lt;/form&gt;
 * </pre></code>
 * <h5>validation.xml?v&lt;var&gt;vf</h5>
 * <table border="1">
 * <tr>
 * <td><center><b><code>var-name</code></b></center></td>
 * <td><center><b><code>var-value</code></b></center></td>
 * <td><center><b>K?{?</b></center></td>
 * <td><center><b>Tv</b></center></td>
 * </tr>
 * <tr>
 * <td> startDate </td>
 * <td>Jnt</td>
 * <td>false</td>
 * <td>tJnlt?B
 * datePatterndatePatternStrictwttH?[}bgv?B</td>
 * </tr>
 * <tr>
 * <td> endDate </td>
 * <td>?It</td>
 * <td>false</td>
 * <td>t?Ilt?B
 * datePatterndatePatternStrictwttH?[}bgv?B</td>
 * </tr>
 * <tr>
 * <td> datePattern </td>
 * <td>tp^?[</td>
 * <td>false</td>
 * <td>tp^?[?BDate^tH?[}bg?[?]?B</td>
 * </tr>
 * <tr>
 * <td> datePatternStrict </td>
 * <td>tp^?[?BDate^tH?[}bg?[?]?B</td>
 * <td>false</td>
 * <td>tp^?[`FbN?s?B tp^?[yyyy/MM/dd???A2001/1/1G?[?B
 * datePatternw???AdatePatternwtH?[}bg D??B</td>
 * </tr>
 * </table>
 * 
 * @param bean
 *            ??IuWFNg
 * @param va
 *            ValidatorpValidatorAction
 * @param field
 *            tB?[hIuWFNg
 * @param errors
 *            ANVG?[
 * @param validator
 *            ValidatorCX^X
 * @param request
 *            HTTPNGXg
 * @return l? <code>true</code>
 */
public static boolean validateDateRange(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        Validator validator, HttpServletRequest request) {

    // beannull?AG?[?O?o?Atruep?B
    if (bean == null) {
        log.error("bean is null.");
        return true;
    }

    String value = null;
    if (isString(bean)) {
        value = (String) bean;
    } else {
        value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    }
    // ?lnull?Atruep
    if (GenericValidator.isBlankOrNull(value)) {
        return true;
    }

    // t?`FbN
    String datePattern = field.getVarValue("datePattern");
    String datePatternStrict = field.getVarValue("datePatternStrict");
    Locale locale = RequestUtils.getUserLocale(request, null);
    Date result = null;
    try {
        if (datePattern != null && datePattern.length() > 0) {
            result = GenericTypeValidator.formatDate(value, datePattern, false);
        } else if (datePatternStrict != null && datePatternStrict.length() > 0) {
            result = GenericTypeValidator.formatDate(value, datePatternStrict, true);
        } else {
            result = GenericTypeValidator.formatDate(value, locale);
        }
    } catch (Exception e) {
        log.error(e.getMessage(), e);
    }

    if (result == null) {
        errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
        return false;
    }

    // t`FbN
    // Jn
    String startDateStr = field.getVarValue("startDate");
    // ?I
    String endDateStr = field.getVarValue("endDate");

    if (startDateStr == null && endDateStr == null) {
        // tw????
        return true;
    }

    // Jnt?~`FbN
    if (startDateStr != null && startDateStr.length() > 0) {
        Date startDate = null;

        if (datePattern != null && datePattern.length() > 0) {
            startDate = GenericTypeValidator.formatDate(startDateStr, datePattern, false);
        } else if (datePatternStrict != null && datePatternStrict.length() > 0) {
            startDate = GenericTypeValidator.formatDate(startDateStr, datePatternStrict, true);
        } else {
            startDate = GenericTypeValidator.formatDate(startDateStr, locale);
        }

        if (startDate == null) {
            errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
            return false;
        }
        if (result.before(startDate)) {
            errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
            return false;
        }
    }

    // ?ItO`FbN
    if (endDateStr != null && endDateStr.length() > 0) {
        Date endDate = null;

        if (datePattern != null && datePattern.length() > 0) {
            endDate = GenericTypeValidator.formatDate(endDateStr, datePattern, false);
        } else if (datePatternStrict != null && datePatternStrict.length() > 0) {
            endDate = GenericTypeValidator.formatDate(endDateStr, datePatternStrict, true);
        } else {
            endDate = GenericTypeValidator.formatDate(endDateStr, locale);
        }

        if (endDate == null) {
            errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
            return false;
        }
        if (result.after(endDate)) {
            errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
            return false;
        }
    }

    return true;
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksEx.java

/**
 * ?tB?[h`FbN?s?B/*from w  ww  .ja va  2 s  .c o m*/
 * 
 * ??[?s{@link MultiFieldValidator} NX Kv?BNX
 * <code>validation.xml</code> ??s?B<br>
 * G?[???AG?[????A wG?[?Xg?B ??[ftHgG?[?bZ?[W?A
 * ?bZ?[W <code>validation.xml</code> KL?q?B<br>
 * ANVtH?[valuetB?[hl?Avalue1tB?[hl??A
 * value2tB?[hl????A?A ??s?B
 * <h5>{@link MultiFieldValidator} </h5>
 * <code><pre>
 * public boolean validate(String value, String[] depends) {
 *  int value0 = Integer.parseInt(value);
 *  int value1 = Integer.parseInt(depends[0]);
 *  int value2 = Integer.parseInt(depends[1]);
 *  return (value1 &lt;= value0 &amp;&amp; value2 &gt;= value0);
 * }
 * </pre></code>
 * <h5>validation.xml?</h5>
 * <code><pre>
 * &lt;form name=&quot;/validateMultiField&quot;&gt;
 *   &lt;field property=&quot;value&quot; depends=&quot;multiField&quot;&gt;
 *     &lt;msg key=&quot;errors.multiField&quot;
 *             name=&quot;multiField&quot;/&gt;
 *     &lt;arg key=&quot;label.value&quot; position=&quot;0&quot; /&gt;
 *     &lt;arg key=&quot;label.value1&quot; position=&quot;1&quot; /&gt;
 *     &lt;arg key=&quot;label.value2&quot; position=&quot;2&quot; /&gt;
 *     &lt;var&gt;
 *       &lt;var-name&gt;fields&lt;/var-name&gt;
 *       &lt;var-value&gt;value1,value2&lt;/var-value&gt;
 *     &lt;/var&gt;
 *     &lt;var&gt;
 *       &lt;var-name&gt;multiFieldValidator&lt;/var-name&gt;
 *       &lt;var-value&gt;sample.SampleMultiFieldValidator&lt;/var-value&gt;
 *     &lt;/var&gt;
 *   &lt;/field&gt;
 * &lt;/form&gt;
 * </pre></code>
 * <h5>?bZ?[W\?[Xt@C?</h5>
 * <code>
 * errors.multiField={0}{1}{2}l?B
 * </code>
 * 
 * <h5>validation.xml?v&lt;var&gt;vf</h5>
 * <table border="1">
 * <tr>
 * <td><center><b><code>var-name</code></b></center></td>
 * <td><center><b><code>var-value</code></b></center></td>
 * <td><center><b>K?{?</b></center></td>
 * <td><center><b>Tv</b></center></td>
 * </tr>
 * <tr>
 * <td> fields </td>
 * <td>?KvtB?[h</td>
 * <td>false</td>
 * <td>?tB?[hw??tB?[hJ}? w?B</td>
 * </tr>
 * <tr>
 * <td> multiFieldValidator </td>
 * <td>{@link MultiFieldValidator} NX</td>
 * <td>false</td>
 * <td>?tB?[h`FbN?s {@link MultiFieldValidator} NX?B</td>
 * </tr>
 * </table>
 * 
 * @param bean
 *            ??IuWFNg
 * @param va
 *            ValidatorpValidatorAction
 * @param field
 *            tB?[hIuWFNg
 * @param errors
 *            ANVG?[
 * @param validator
 *            ValidatorCX^X
 * @param request
 *            HTTPNGXg
 * @return l? <code>true</code>
 */
public static boolean validateMultiField(Object bean, ValidatorAction va, Field field, ActionMessages errors,
        Validator validator, HttpServletRequest request) {

    // beannull?AG?[?O?o?Atruep?B
    if (bean == null) {
        log.error("bean is null.");
        return true;
    }

    // ??l
    String value = null;
    if (isString(bean)) {
        value = (String) bean;
    } else {
        value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    }
    // tB?[hK?{`FbN?l?A
    // ?lnull???tB?[h`FbN?s?B

    // MultiFieldValidatorNX
    String multiFieldValidatorClass = field.getVarValue("multiFieldValidator");

    if (multiFieldValidatorClass == null || "".equals(multiFieldValidatorClass)) {
        log.error("var value[multiFieldValidator] is required.");
        throw new IllegalArgumentException("var value[multiFieldValidator] is required.");
    }

    MultiFieldValidator mfv = null;
    try {
        mfv = (MultiFieldValidator) ClassUtil.create(multiFieldValidatorClass);
    } catch (ClassLoadException e) {
        log.error("var value[multiFieldValidator] is invalid.", e);
        throw new IllegalArgumentException("var value[multiFieldValidator] is invalid.", e);
    } catch (ClassCastException e) {
        log.error("var value[multiFieldValidator] is invalid.", e);
        throw new IllegalArgumentException("var value[multiFieldValidator] is invalid.", e);
    }

    // ?tB?[hl
    String fields = field.getVarValue("fields");
    List<String> valueList = new ArrayList<String>();
    if (fields != null) {
        StringTokenizer st = new StringTokenizer(fields, ",");
        while (st.hasMoreTokens()) {
            String f = st.nextToken();
            f = f.trim();
            valueList.add(ValidatorUtils.getValueAsString(bean, f));
        }
    }

    if (log.isDebugEnabled()) {
        log.debug("dependent fields:" + valueList);
    }

    String[] values = new String[valueList.size()];

    valueList.toArray(values);

    boolean result = mfv.validate(value, values);

    if (!result) {
        errors.add(field.getKey(), Resources.getActionMessage(validator, request, va, field));
        return false;
    }

    return true;
}

From source file:jp.terasoluna.fw.validation.FieldChecks.java

/**
 * ???bean?Null???Null?/*from   w ww  .  j  a va 2  s  . c  o  m*/
 * bean?String???bean?
 * bean?Number?Boolean?Character???bean.toString()?
 * ?????bean?<code>Field</code>???
 * <code>ValidatorUtils</code>?????
 *
 * @param bean ?
 * @param field <code>Field</code>
 * @return 
 * @see ValidatorUtils#getValueAsString(Object, String)
 */
protected String extractValue(Object bean, Field field) {
    String value = null;

    if (bean == null) {
        return null;
    } else if (bean instanceof String) {
        value = (String) bean;
    } else if (bean instanceof Number || bean instanceof Boolean || bean instanceof Character) {
        value = bean.toString();
    } else {
        value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    }
    return value;
}

From source file:org.agnitas.service.csv.validator.FieldsValidator.java

private static String getValueAsString(Object bean, Field field) {
    String value = null;/*from  w  w w .  j  av a2s .  co  m*/
    final String varValue = field.getVarValue("customField");
    if (Boolean.valueOf(varValue)) {
        try {
            Object property = PropertyUtils.getProperty(bean, "customFields");
            if (property instanceof Map) {
                value = ((Map<String, String>) property).get(field.getProperty());
            }
        } catch (Exception e) {
            AgnUtils.logger().warn(
                    MessageFormat.format("Failed to get bean ({0}) property ({1})as string", bean, varValue),
                    e);
        }
    } else {
        value = ValidatorUtils.getValueAsString(bean, field.getProperty());
    }
    return value;
}

From source file:org.apache.commons.validator.TestValidator.java

/**
 * Checks if the field can be successfully converted to a <code>int</code>.
 *
 * @param    value       The value validation is being performed on.
 * @return   boolean      If the field can be successfully converted 
 *                           to a <code>int</code> <code>true</code> is returned.  
 *                           Otherwise <code>false</code>.
 *//*from w w w .j  a v a 2s.c om*/
public static boolean validateInt(Object bean, Field field) {
    String value = ValidatorUtils.getValueAsString(bean, field.getProperty());

    return GenericValidator.isInt(value);
}

From source file:org.apache.commons.validator.TestValidator.java

/**
 * Checks if the field is an e-mail address.
 *
 * @param    value       The value validation is being performed on.
 * @return   boolean      If the field is an e-mail address
 *                           <code>true</code> is returned.  
 *                           Otherwise <code>false</code>.
 *//*  www . j a v  a 2s.  co  m*/
public static boolean validateEmail(Object bean, Field field) {
    String value = ValidatorUtils.getValueAsString(bean, field.getProperty());

    return GenericValidator.isEmail(value);
}