[ https://issues.apache.org/jira/browse/VALIDATOR-410?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16062648#comment-16062648 ]
Bruno P. Kinoshita commented on VALIDATOR-410: ---------------------------------------------- FWIW, here's a few different libraries and the results for the URL validation. Python. {code:python} import validators # pip install validators r = validators.url('ftp:///+') print(r == True) # False from urllib.parse import urlparse = urlparse('ftp:///+') print(r == True) # False {code} JavaScript: JQuery Validation Plug-in fails to validate ftp:///+, see https://jqueryvalidation.org/url-method/ to test it. You can find the regex used in the GH repository too. Perl: {code:perl} #!/usr/bin/env perl use Data::Validate::URI qw(is_uri); my $r = is_uri("ftp:///+"); if ($r) { print "Valid"; } else { print "Invalid"; } # Valid {code} So at least it's not so different from other programming languages & libraries. There may be other Python and JS libraries that actually validate to true that URL, I just used the ones I'm aware of and normally use in projects. > Failure cases for UrlValidator > ------------------------------- > > Key: VALIDATOR-410 > URL: https://issues.apache.org/jira/browse/VALIDATOR-410 > Project: Commons Validator > Issue Type: Bug > Affects Versions: 1.5.1 > Reporter: Asankhaya Sharma > Priority: Minor > > I was trying to check how closely the UrlValidator implements the URL grammar > as described by the RFC 1738 (https://www.ietf.org/rfc/rfc1738.txt). I fuzzed > the UrlValidator with GramTest, a grammar based test case generation tool > (https://github.com/codelion/gramtest). > I found that in the latest version 1.5.1, the UrlValidator fails to validate > the following strings: > {{"ftp:///+"}} > {{"mailto:%FF@Z"}} > These two strings may seem a bit strange, but I verified manually that they > are allowed by the grammar given in the RFC (see also > https://www.w3.org/Addressing/URL/5_BNF.html). > Furthermore, it is possible to create the following URLs in Java without > throwing a {{MalformedUrlException}}: > {code} > new URL("ftp:///+"); > new URL("mailto:%FF@Z"); > {code} > however, the UrlValidator returns false for these strings: > {code} > UrlValidator validator = new UrlValidator(UrlValidator.ALLOW_ALL_SCHEMES + > UrlValidator.ALLOW_2_SLASHES + UrlValidator.ALLOW_LOCAL_URLS); > validator.isValid("ftp:///+"); // returns false > validator.isValid("mailto:%FF@Z"); // returns false > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)