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

Gunnar Morling (JIRA) noreply at atlassian.com
Mon Feb 14 16:48:05 EST 2011


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

Gunnar Morling commented on HV-435:
-----------------------------------

I don't think that this change would be correct, as we would derive from what is defined in the spec (it's only saying null is a valid value, but there is nothing said about empty strings). I suggest that you modify your regular expression so that it excepts empty strings OR the pattern you really intend. If you are working with JSF 2, you can also have empty strings automatically being converted to null by specifying the following context parameter in your web.xml (see [JSF 2 spec|http://jcp.org/en/jsr/detail?id=314], section 11.1.3):

{code:xml}
<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>
{code}

> 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