Hey folks,
Sorry for not providing a more specific scenario before, was short on time and just wanted to kick this off.
The most common scenario that I can think of (and the one that most similar to our usage) would be a form field on a Django site, that allows users to input a URL which is saved and later displayed as a link to other users (e.g in blogs, comments, CMS systems, etc).
Here's an example of a site, though clearly not a very reputable one:
http://online_casino_news.hundredpercentgambling.com/ . Note that google groups automatically converted this one to a URL for me, and I was able to click and follow it both on Chrome and Firefox.
In the above use case, by validating the correctness of the URL, we protect a user from making a mistake, but we don't really care about adhering to standards beyond that, the usability wins.
There are other use cases, that might care about RFC
952/
1034 guidelines about hostname. For example, if we're building a hosting or a name server management system, or maybe SSL certificates vendor.
In such cases, it might actually benefit the user if the platform alerts on the validity of the hostname chosen by the user (at the very least to advise the users).
However, I would guess that the first use case, of taking a URL to store and render it as a link, would be more common and thus more frequently needing to override the class.
I can also propose a solution that would still work for both: (deprecate and) rename the current class to StrictURLValidator (or URLValidatorRFC1034), to still be easily used for the less common scenarios.
What do you think?
Best Regards,
Pavel