[hibernate-issues] [Hibernate-JIRA] Commented: (HV-435) org.hibernate.validator.constraints.impl.PatternValidator rejecting empty strings

Hardy Ferentschik (JIRA) noreply at atlassian.com
Mon Feb 14 18:37:06 EST 2011


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

Hardy Ferentschik commented on HV-435:
--------------------------------------

The argument that regarding form submission is not valid for Bean Validation. Bean Validation is not tied to any UI framework or behavior. There is a difference between the empty string and {{null}}. As Gunnar is pointing out you can already address this on the JSF level via conversions. If you want to take care of it at the validation level you I also recommend to add the empty string check into your patter. Something like: {{"|^<myregexp>$"}}. 
See also - https://forum.hibernate.org/viewtopic.php?f=9&t=1002972&p=2431361

> org.hibernate.validator.constraints.impl.PatternValidator rejecting empty strings
> ---------------------------------------------------------------------------------
>
>                 Key: HV-435
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-435
>             Project: Hibernate Validator
>          Issue Type: Bug
>          Components: validators
>    Affects Versions: 4.1.0.Final
>         Environment: Hibernate Core 3.5.6 with MySql database (not relevant to this bug)
>            Reporter: Stephen Hiley
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> The PatternValidator currently checks for a null value and returns true from isValid() in that case. An empty string should have the same effect. This is necessary for the same reason: to allow for an empty form submission (which commonly are submitted as empty strings rather than nulls) and only validate when some value is submitted. IMO, this should be standard behavior. If nothing else, provide an option to treat empty strings as ignored in the same manner that null values are treated today.
> Suggested modification:
> public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
> 		if ( value == null || value.length() == 0) {
> 			return true;
> 		}
> Thanks,
> Stephen Hiley

-- 
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