-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
validate_length not working for isURL() #1412
Description
Hi Validator team,
Thanks for putting this great package together.
I've been recently testing the change introduced in this issue: ed86b0a
It's listed in the API docs so I believe it should be live:
validate_length - if set as false isURL will skip string length validation (2083 characters is IE max URL length).
However, when installing version 13.1.1 and running the isURL function with options {validate_length: false}, it still returns false.
Here's my package JSON:
{
"name": "test2",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"validator": "^13.1.1"
}
}
And index.js:
const validator = require('validator');
const url = 'https://www.google.com/search?q=Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Duis+pellentesque+erat+lacinia+mollis+vestibulum.+Curabitur+eget+ornare+nisl.+Sed+vel+augue+elit.+In+lacinia+fermentum+iaculis.+Integer+varius+elit+sapien%2C+vitae+condimentum+mi+pulvinar+non.+Suspendisse+fringilla+tristique+pulvinar.+Donec+non+aliquet+nulla%2C+at+vehicula+odio.+Duis+eget+quam+tristique%2C+varius+diam+et%2C+aliquet+ipsum.+Etiam+eget+quam+mauris.+Vivamus+pretium+quam+in+velit+congue%2C+non+vehicula+velit+vulputate.+Nunc+sed+ipsum+at+augue+laoreet+rutrum.+Praesent+volutpat+tincidunt+purus%2C+eu+faucibus+tellus+commodo+quis.+Ut+tristique+at+risus+et+scelerisque.+Duis+id+tristique+lorem.+Proin+imperdiet+facilisis+lacus%2C+congue+pulvinar+nisl+finibus+ut.&oq=Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Duis+pellentesque+erat+lacinia+mollis+vestibulum.+Curabitur+eget+ornare+nisl.+Sed+vel+augue+elit.+In+lacinia+fermentum+iaculis.+Integer+varius+elit+sapien%2C+vitae+condimentum+mi+pulvinar+non.+Suspendisse+fringilla+tristique+pulvinar.+Donec+non+aliquet+nulla%2C+at+vehicula+odio.+Duis+eget+quam+tristique%2C+varius+diam+et%2C+aliquet+ipsum.+Etiam+eget+quam+mauris.+Vivamus+pretium+quam+in+velit+congue%2C+non+vehicula+velit+vulputate.+Nunc+sed+ipsum+at+augue+laoreet+rutrum.+Praesent+volutpat+tincidunt+purus%2C+eu+faucibus+tellus+commodo+quis.+Ut+tristique+at+risus+et+scelerisque.+Duis+id+tristique+lorem.+Proin+imperdiet+facilisis+Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Duis+pellentesque+erat+lacinia+mollis+vestibulum.+Curabitur+eget+ornare+nisl.+Sed+vel+augue+elit.+In+lacinia+fermentum+iaculis.+Integer+varius+elit+sapien%2C+vitae+condimentum+mi+pulvinar+non.+Suspendisse+fringilla+tristique+pulvinar.+Donec+non+aliquet+nulla%2C+at+vehicula+odio.+Duis+eget+quam+tristique%2C+varius+diam+et%2C+aliquet+ipsum.+Etiam+eget+quam+mauris.+Vivamus+pretium+quam+in+velit+congue%2C+non+vehicula+velit+vulputate.+Nunc+sed+ipsum+at+augue+laoreet+rutrum.+Praesent+volutpat+tincidunt+purus%2C+eu+faucibus+tellus+commodo+quis.+Ut+tristique+at+risus+et+scelerisque.+Duis+id+tristique+lorem.+Proin+imperdiet+facilisis+lacus%2C+congue+pulvinar+nisl+finibus+ut.&oq=Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Duis+pellentesque+erat+lacinia+mollis+vestibulum.+Curabitur+eget+ornare+nisl.+Sed+vel+augue+elit.+In+lacinia+fermentum+iaculis.+Integer+varius+elit+sapien%2C+vitae+condimentum+mi+pulvinar+non.+Suspendisse+fringilla+tristique+pulvinar.+Donec+non+aliquet+nulla%2C+at+vehicula+odio.+Duis+eget+quam+tristique%2C+varius+diam+et%2C+aliquet+ipsum.+Etiam+eget+quam+mauris.+Vivamus+pretium+quam+in+velit+congue%2C+non+vehicula+velit+vulputate.+Nunc+sed+ipsum+at+augue+laoreet+rutrum.+Praesent+volutpat+tincidunt+purus%2C+eu+faucibus+tellus+commodo+quis.+Ut+tristique+at+risus+et+scelerisque.+Duis+id+tristique+lorem.+Proin+imperdiet+facilisis+lacus%2C+congue+pulvinar+nisl+finibus+ut.&aqs=chrome..69i57.961j0j4&sourceid=chrome&ie=UTF-8';
console.log(validator.isURL(url, {validate_length: false}));
I've noticed that these files contain references to the old code:
lib/isURL.js:
if (!url || url.length >= 2083 || /[\s<>]/.test(url)) {
return false;
}
es/lib/isURL.js:
if (!url || url.length >= 2083 || /[\s<>]/.test(url)) {
return false;
}
Perhaps I'm doing something wrong, I'd appreciate if you could let me know what that is :)
Thanks!
Additional context
Validator.js version: 13.1.1
Node.js version: 12
OS platform: macOS