hi,

since it's a nice idea to have an out-of-the-box support via @RequiredIf,
i'm going to add such a feature to the validation strategy for @RequiredIf.
it will be available in the next milestone (which will be published quite
soon).

regards,
gerhard

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces


2009/11/18 Gerhard Petracek <[email protected]>

> hi,
>
> basically the current implementation of @RequiredIf is designed to be used
> in combination with two text-input fields. anyway, it's quite easy to solve
> the requirement with the cross-validation mechanism of myfaces extval. you
> can also implement a @ValidateMyCustomConstraintIf based on the
> infrastructure of extval. i'll create a wiki which describes the required
> steps.
>
> additional information:
> if the information is already available in a bean, you can use
> @SkipValidation as well. (however, that's not the case in your use-case.)
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
> 2009/11/17 Mike Kienenberger <[email protected]>
>
> The optional validation framework is ancient at this point.  It was a
>> short-lived, flawed project.  I don't recommend using it as is, but
>> maybe you can use pieces of the source code as examples to accomplish
>> some of what you need.
>>
>> Your best bet is to either reuse validateCompareTo
>> (CompareToValidator) from Tomahawk or write your own validator using
>> that Tomahawk component as a model.   You could submit it back as a
>> requiredIf validator to MyFaces.   This is the approach I would take.
>>
>> Here's a generic thread on conditional required fields -- one of the
>> few I could find on the subject -- and it also talks about using the
>> compare-to strategy above.
>>
>>
>> http://forums.sun.com/thread.jspa?trange=15&threadID=500322&forumID=427&tstart=0
>>
>> I see there's also a @RequiredIf annotation mentioned in the ExtVal
>> docs.  I don't know if it's also available as a standard non-annotated
>> validator, though.
>>
>> One other remote possibility is to see if a subForm can be configured
>> to be able to do what you need.
>>
>> On Tue, Nov 17, 2009 at 1:51 PM, laredotornado <[email protected]>
>> wrote:
>> >
>> > So you are the author of the optional validation framework?  That is
>> > excellent.  I was reading the page but am still missing the gist of the
>> > example.  How would you say, "If element A contains this value, then
>> apply
>> > this validatino rule to element B?"
>> >
>> > Thanks, - Dave
>> >
>> >
>> > Mike Kienenberger wrote:
>> >>
>> >> required will have to be non-true.   I don't know if there's an el
>> >> expression that will work in your case, so you might just have to
>> >> leave it false.
>> >>
>> >> The following validator works against multiple components.
>> >>
>> >>     http://myfaces.apache.org/sandbox/validateCompareTo.html
>> >>
>> >> You can either use it as a template for creating your own validator,
>> >> or you might be able to use the comparator attribute on it to
>> >> accomplish what you need.  (Force it to compare against a constant
>> >> value of true or false instead of the inputText value).  Still not
>> >> sure how that'd interact with  <f:validateLongRange>
>> >>
>> >> You might also be able to use pieces of the
>> OptionalValidationFramework.
>> >>
>> >>     http://wiki.apache.org/myfaces/OptionalValidationFramework
>> >>
>> >>
>> >> On Tue, Nov 17, 2009 at 12:57 PM, laredotornado <
>> [email protected]>
>> >> wrote:
>> >>>
>> >>> Hi,
>> >>>
>> >>> I'm using MyFaces 1.2.4, Tomahawk 1.1.9.  How do I tell JSF that I
>> only
>> >>> want
>> >>> to apply a validator to a text field if a checkbox on the page is
>> >>> checked?
>> >>> Right now I have this text field ...
>> >>>
>> >>> <h:inputText id="domeTourNumAdults" value="#{domeTour.numAdults}"
>> >>>                                            required="true"
>> >>>                                            size="60"
>> >>>                                            maxlength="60"
>> >>>                                            styleClass="textFields
>> >>> numAdultsField">
>> >>>                <f:validateLongRange minimum="0"/>
>> >>> </h:inputText>
>> >>>
>> >>> but if a certain checkbox is not checked, I don't care if this field
>> is
>> >>> left
>> >>> blank.  Your thoughts are appreciated, - Dave
>> >>> --
>> >>> View this message in context:
>> >>>
>> http://old.nabble.com/Only-want-to-validate-a-text-field-if-checkbox-is-checked-...-how--tp26394554p26394554.html
>> >>> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>> >>>
>> >>>
>> >>
>> >>
>> >
>> > --
>> > View this message in context:
>> http://old.nabble.com/Only-want-to-validate-a-text-field-if-checkbox-is-checked-...-how--tp26394554p26395396.html
>> > Sent from the MyFaces - Users mailing list archive at Nabble.com.
>> >
>> >
>>
>
>

Reply via email to