[hibernate-issues] [Hibernate-JIRA] Commented: (HV-406) URL Validator not effective

Hardy Ferentschik (JIRA) noreply at atlassian.com
Thu Feb 17 05:49:05 EST 2011


    [ http://opensource.atlassian.com/projects/hibernate/browse/HV-406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=40007#action_40007 ] 

Hardy Ferentschik commented on HV-406:
--------------------------------------

I don't think that using the {{URL}} class is bad. The problem with regular expressions is that it is hard to determine where to start and stop. If we add a regexp checking for at least one dot and a maximum of 3 characters domain extension another user will create a new Jira about adding additional tests and so on. In the end you end up with a regular expression which complies with the spec, but it completely unwieldy.
That said, I could imagine adding an optional regexp attribute to the existing constraint implementations. If specified an additional check against the regexp will be executed. It is up to the user what he wants to check in the pattern, eg a fixed domain name and/or the length of the domain extension.

> URL Validator not effective
> ---------------------------
>
>                 Key: HV-406
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-406
>             Project: Hibernate Validator
>          Issue Type: Bug
>          Components: validators
>    Affects Versions: 4.1.0.Final
>            Reporter: Marc Schipperheyn
>            Priority: Minor
>             Fix For: 4.2.0.CR1
>
>
> The supplied URL Validator basically doesn't work. Or at least not as expected.
> It creates a URL against the URL class and if it fails this, it returns false. There are multiple problems with this:
> * A URL like http://bljdlfghjdlgjlfd is perfectly valid according to the URL class (intranet domains can be anything)
> * It's not the most efficient way to test this (generating an error etc)
> In order to retain backward compatibility I would suggest adding an "internet" attribute, which would force the validator to really check for minimally one dot, maximum 3 characters in the domain extension, etc. Because that is what you would normally want from a validator like this.
> Also, I would not use the URL class, but use a regular expression. A more elegant way to check this. 
> The URL class approach could be retained for when the "internet" attribute is false

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list