You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2015/11/09 02:45:38 UTC
svn commit: r1713333 -
/commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/CodeValidator.java
Author: sebb
Date: Mon Nov 9 01:45:37 2015
New Revision: 1713333
URL: http://svn.apache.org/viewvc?rev=1713333&view=rev
Log:
VALIDATOR-379 CodeValidator unconditionally trim()s the input string
Add Javadoc
Modified:
commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/CodeValidator.java
Modified: commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/CodeValidator.java
URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/CodeValidator.java?rev=1713333&r1=1713332&r2=1713333&view=diff
==============================================================================
--- commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/CodeValidator.java (original)
+++ commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/CodeValidator.java Mon Nov 9 01:45:37 2015
@@ -26,12 +26,34 @@ import org.apache.commons.validator.rout
* <p>
* Performs the following validations on a code:
* <ul>
+ * <li>if the code is null, return null/false as appropriate</li>
+ * <li>trim the input. If the resulting code is empty, return null/false as appropriate</li>
* <li>Check the <i>format</i> of the code using a <i>regular expression.</i> (if specified)</li>
* <li>Check the <i>minimum</i> and <i>maximum</i> length (if specified) of the <i>parsed</i> code
* (i.e. parsed by the <i>regular expression</i>).</li>
* <li>Performs {@link CheckDigit} validation on the parsed code (if specified).</li>
+ * <li>The {@link #validate(String)} method returns the trimmed, parsed input (or null if validation failed)</li>
* </ul>
* <p>
+ * <b>Note</b>
+ * The {@link #isValid(String)} method will return true if the input passes validation.
+ * Since this includes trimming the input, it is possible for a String to pass validation
+ * but fail the checkdigit test if passed directly to it (the check digit routines generally don't trim input).
+ * However the check digit routines don't check the format.
+ * If you need to be sure that you are passing valid input to a method which is not expecting leading
+ * or trailing spaces, either trim the input yourself, or use the validate method:
+ * <pre>
+ * // method 1
+ * if (validator.isValid(input)) {
+ * some_method(input.trim());
+ * }
+ * // method 2
+ * Object valid = validator.validate(input);
+ * if (valid != null) {
+ * some_method(valid.toString());
+ * }
+ * </pre>
+ * <p>
* Configure the validator with the appropriate regular expression, minimum/maximum length
* and {@link CheckDigit} validator and then call one of the two validation
* methods provided:</p>
@@ -44,7 +66,9 @@ import org.apache.commons.validator.rout
* more easily human readable. These can be removed prior to length and check digit
* validation by specifying them as a <i>non-capturing</i> group in the regular
* expression (i.e. use the <code>(?: )</code> notation).
- *
+ * <br>
+ * Or just avoid using parentheses except for the parts you want to capture
+ *
* @version $Revision$
* @since Validator 1.4
*/