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


Reply via email to