[jsr-314-open] clarification on f:validateRequired

Dan Allen dan.j.allen at gmail.com
Tue Oct 20 14:56:15 EDT 2009


My interpretation is that <f:validateRequired> will work only if
javax.faces.VALIDATE_EMPTY_FIELDS is set to true OR bean validation is
present and javax.faces.VALIDATE_EMPTY_FIELDS is not explicitly set (the
second implies the first). Otherwise, this validator is ignored. Perhaps a
warning can be issued (in the impl) when the tree is created that this
validator has no effect. IMHO, every JSF developer should be enabling this
feature, one way or another. The previous behavior was just nonsensical.

The <f:validateRequired> should take precendence over the required
attirbute, since the validator is now the prefered approach (actually bean
validation is the preferred approach, but when that is absent, the tag is
prefered).

So <f:validateRequired> is ignored if VALIDATE_EMPTY_FIELDS is false or
absent.

-Dan

On Tue, Oct 20, 2009 at 2:43 PM, Michael Concini <mconcini at gmail.com> wrote:

> I'm doing some testing on MyFaces to make sure all is behaving as described
> in the spec for some of the new tags.  I've run into an issue where I need
> some clarification on the spec though regarding the validateRequired tag.
> The confusion lies in what the interaction and precedence should be for the
> validateRequired tag vs. the javax.faces.VALIDATE_EMPTY_FIELDS param setting
> and the algorithm specified for UIInput.validateValue().
> The validateValue algorithm says that if javax.faces.VALIDATE_EMPTY_FIELDS
> has not been set, that we only execute the validators if bean validation is
> present.  This, however, will prevent the RequiredValidator from executing
> as well.  Since the javadoc states that adding an f::validateRequired tag
> has the same affect as setting required="true" on the UIInput, it would seem
> that at least for this validator, we need to validate empty fields even if
> bean validation is not present.
> What is the proper behavior here?  Should we be ignoring the
> validateRequired tag unless bean validation is present?  Should we be
> executing only the RequiredValidator if one is attached?  all validators if
> a RequiredValidator is attached?  What about if VALIDATE_EMPTY_FIELDS is
> explicitly set to false?
> Any clarification on this would be much appreciated.
>
> Thanks,
> Mike
>
>


-- 
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597

http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://www.google.com/profiles/dan.j.allen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jsr-314-open-mirror/attachments/20091020/046e28ab/attachment.html 


More information about the jsr-314-open-mirror mailing list