List of usage examples for org.apache.commons.validator.util ValidatorUtils getValueAsString
public static String getValueAsString(Object bean, String property)
String
. 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> * <form name="/sample"> * ?E?E?E * <field property="escape" * depends="prohibited"> * <arg0 key="sample.escape"/> * <var> * <var-name>chars</var-name> * <var-value>!"#$%&'()</var-value> * </var> * </field> * ?E?E?E * </form> * </pre></code> * <h5>validation.xml?v<var>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> * <form name="/sample"> * ?E?E?E * <field property="escape" * depends="stringLength"> * <arg0 key="sample.escape"/> * <var> * <var-name>length</var-name> * <var-value>5</var-value> * </var> * </field> * ?E?E?E * </form> * </pre></code> * <h5>validation.xml?v<var>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> * <form name="/sample"> * ?E?E?E * <field property="escape" * depends="byteLength"> * <arg0 key="sample.escape"/> * <var> * <var-name>byteLength</var-name> * <var-value>5</var-value> * </var> * <var> * <var-name>encoding</var-name> * <var-value>Windows-31J</var-value> * </var> * </field> * ?E?E?E * </form> * </pre></code> * <h5>validation.xml?v<var>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> * <form name="/sample"> * ?E?E?E * <field property="escape" * depends="byteRange"> * <arg0 key="sample.escape"/> * <var> * <var-name>maxByte</var-name> * <var-value>10</var-value> * </var> * <var> * <var-name>minByte</var-name> * <var-value>5</var-value> * </var> * <var> * <var-name>encoding</var-name> * <var-value>Windows-31J</var-value> * </var> * </field> * ?E?E?E * </form> * </pre></code> * <h5>validation.xml?v<var>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> * <form name="/sample"> * ?E?E?E * <field property="date" * depends="dateRange"> * <arg key="label.date" position="0"/> * <var> * <var-name>startDate</var-name> * <var-value>2000/01/01</var-value> * </var> * <var> * <var-name>endDate</var-name> * <var-value>2010/12/31</var-value> * </var> * <var> * <var-name>datePattern</var-name> * <var-value>yyyy/MM/dd</var-value> * </var> * </field> * ?E?E?E * </form> * </pre></code> * <h5>validation.xml?v<var>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 <= value0 && value2 >= value0); * } * </pre></code> * <h5>validation.xml?</h5> * <code><pre> * <form name="/validateMultiField"> * <field property="value" depends="multiField"> * <msg key="errors.multiField" * name="multiField"/> * <arg key="label.value" position="0" /> * <arg key="label.value1" position="1" /> * <arg key="label.value2" position="2" /> * <var> * <var-name>fields</var-name> * <var-value>value1,value2</var-value> * </var> * <var> * <var-name>multiFieldValidator</var-name> * <var-value>sample.SampleMultiFieldValidator</var-value> * </var> * </field> * </form> * </pre></code> * <h5>?bZ?[W\?[Xt@C?</h5> * <code> * errors.multiField={0}{1}{2}l?B * </code> * * <h5>validation.xml?v<var>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); }