Opened 9 years ago

Last modified 8 years ago

#25418 new New feature

URL Validator to check only hostname part without domain nor tld — at Version 2

Reported by: FoxMaSk Owned by: nobody
Component: Core (Other) Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Tim Graham)

Hi,
on the LAN, we don't use full scheme of host + domain + tld, so it could be fine if we could change this

    host_re = '(' + hostname_re + domain_re + tld_re + '|localhost)'

to

    host_re = '(' + hostname_re + domain_re + tld_re + '|' + hostname_re + '|localhost)'

regards

According to the ticket's flags, the next step(s) to move this issue forward are:

  • To provide a patch by sending a pull request. Claim the ticket when you start working so that someone else doesn't duplicate effort. Before sending a pull request, review your work against the patch review checklist. Check the "Has patch" flag on the ticket after sending a pull request and include a link to the pull request in the ticket comment when making that update. The usual format is: [https://github.com/django/django/pull/#### PR].

Change History (2)

comment:1 by Moritz Sichert, 9 years ago

Component: Core (URLs)Core (Other)
Triage Stage: UnreviewedAccepted
Type: UncategorizedBug
Version: 1.8master

URLs like http://host definitely should be considered valid.
Also, is there really a need to differentiate between tld, domain and hostname? As far as DNS is concerned they don't really mean different things.

comment:2 by Tim Graham, 9 years ago

Description: modified (diff)

I believe the idea of URLValidator is to recognize URLs that usually work without some special DNS setup. I feel like this proposal has come up before and been rejected. If so, we should document the restriction (and how to lift it in your own validation) to try to prevent it from being proposed again and again.

Note: See TracTickets for help on using tickets.
Back to Top