Author: sebb Date: Thu Feb 16 13:38:33 2017 New Revision: 1783203 URL: http://svn.apache.org/viewvc?rev=1783203&view=rev Log: VALIDATOR-420 Query params validator shouldn't accept whitespaces
Modified: commons/proper/validator/trunk/src/changes/changes.xml commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java Modified: commons/proper/validator/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/changes/changes.xml?rev=1783203&r1=1783202&r2=1783203&view=diff ============================================================================== --- commons/proper/validator/trunk/src/changes/changes.xml (original) +++ commons/proper/validator/trunk/src/changes/changes.xml Thu Feb 16 13:38:33 2017 @@ -98,6 +98,9 @@ The dependencies for Validator have not For the current list of dependencies, please see http://commons.apache.org/validator/dependencies.html "> + <action issue="VALIDATOR-420" type="fix" dev="sebb" due-to="Marcin Gasior"> + Query params validator shouldn't accept whitespaces + </action> <action issue="VALIDATOR-419" type="fix" dev="sebb" due-to="Denis Iskhakov"> Invalid IPv6 addresses that are IPv4-mapped pass InetAddressValidator validation </action> Modified: commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java?rev=1783203&r1=1783202&r2=1783203&view=diff ============================================================================== --- commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java (original) +++ commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java Thu Feb 16 13:38:33 2017 @@ -168,7 +168,7 @@ public class UrlValidator implements Ser private static final String PATH_REGEX = "^(/[-\\w:@&?=+,.!/~*'%$_;\\(\\)]*)?$"; private static final Pattern PATH_PATTERN = Pattern.compile(PATH_REGEX); - private static final String QUERY_REGEX = "^(.*)$"; + private static final String QUERY_REGEX = "^(\\S*)$"; private static final Pattern QUERY_PATTERN = Pattern.compile(QUERY_REGEX); /** Modified: commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java?rev=1783203&r1=1783202&r2=1783203&view=diff ============================================================================== --- commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java (original) +++ commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java Thu Feb 16 13:38:33 2017 @@ -491,6 +491,13 @@ protected void setUp() { assertTrue(validator.isValid("http://www.apache.org:/path")); } + public void testValidator420() { + UrlValidator validator = new UrlValidator(); + assertFalse(validator.isValid("http://example.com/serach?address=Main Avenue")); + assertTrue(validator.isValid("http://example.com/serach?address=Main%20Avenue")); + assertTrue(validator.isValid("http://example.com/serach?address=Main+Avenue")); + } + //-------------------- Test data for creating a composite URL /** * The data given below approximates the 4 parts of a URL