It seem it happens because the method getConvertedInput () of the
FormComponentPanel returns null since methods setConvertedInput (),
setModeValue and convertInput() were never called.
public final void validate()
{
validateRequired();
if (isValid())
{
convertInput();
if (isValid() && isRequired() && getConvertedInput() ==
null &&
isInputNullable())
{
reportRequiredError();
}
if (isValid())
{
validateValidators();
}
}
}
On Mon, Mar 17, 2008 at 11:18 PM, Vitaly Tsaplin
<[EMAIL PROTECTED]> wrote:
> True. But I do... unfortunately.
>
>
>
> On Mon, Mar 17, 2008 at 11:15 PM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> > you should not, since checkrequired() will pass.
> >
> > -igor
> >
> >
> > On Mon, Mar 17, 2008 at 2:47 PM, Vitaly Tsaplin
> >
> >
> > <[EMAIL PROTECTED]> wrote:
> > > Ok :)
> > >
> > > I have the following
> > >
> > > checkRequired () {
> > > return true;
> > > }
> > >
> > > isRequired () {
> > > return true;
> > > }
> > >
> > > In the case above Do I have an error message saying that the field
> > > is required?
> > >
> > >
> > >
> > > On Mon, Mar 17, 2008 at 10:42 PM, Igor Vaynberg <[EMAIL PROTECTED]>
> wrote:
> > > > no, that means that effectively required check is disabled - eg it
> always passes
> > > >
> > > > -igor
> > > >
> > > >
> > > > On Mon, Mar 17, 2008 at 2:15 PM, Vitaly Tsaplin
> > > >
> > > >
> > > > <[EMAIL PROTECTED]> wrote:
> > > > > If the method checkRequired () returns TRUE that means, I guess,
> the
> > > > > requirement condition check must always pass, but it doesn't
> happens.
> > > > >
> > > > >
> > > > >
> > > > > On Mon, Mar 17, 2008 at 10:09 PM, Igor Vaynberg <[EMAIL
> PROTECTED]> wrote:
> > > > > > the reason formcomponentpanel.checkrequired() always returns
> true is
> > > > > > that for a formcomponentpanel it is often a noop. so that is
> the best
> > > > > > default implementation we can provide. you can always
> override it to
> > > > > > implement some logic if you need...
> > > > > >
> > > > > > -igor
> > > > > >
> > > > > >
> > > > > > On Mon, Mar 17, 2008 at 1:13 PM, Vitaly Tsaplin
> > > > > >
> > > > > >
> > > > > > <[EMAIL PROTECTED]> wrote:
> > > > > > > I run into this problem implementing my own component as
> a subclass
> > > > > > > of the FormComponentPanel class. In my case the method
> checkRequired
> > > > > > > just always returns TRUE but if I set required property to
> TRUE the
> > > > > > > component always generate a validation error (field
> bla-bla-bla is
> > > > > > > required).
> > > > > > >
> > > > > > > On Mon, Mar 17, 2008 at 9:09 PM, Vitaly Tsaplin
> > > > > > >
> > > > > > >
> > > > > > > <[EMAIL PROTECTED]> wrote:
> > > > > > > > I am not sure but I suspect that if the method
> checkRequired
> > > > > > > > returns true a requirement condition must always met in
> any case or
> > > > > > > > the behavior is different?
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > On Mon, Mar 17, 2008 at 8:57 PM, Igor Vaynberg <[EMAIL
> PROTECTED]> wrote:
> > > > > > > > > why should we call checkrequired() twice?
> > > > > > > > >
> > > > > > > > > -igor
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Mon, Mar 17, 2008 at 12:06 PM, Vitaly Tsaplin
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > <[EMAIL PROTECTED]> wrote:
> > > > > > > > > > It should be probably like this
> > > > > > > > > >
> > > > > > > > > > if (isValid() &&
> (isRequired() ? !checkRequired
> > > > > > > > > > () : true) && getConvertedInput() == null &&
> isInputNullable())
> > > > > > > > > >
> > > > > > > > > > <<<<---- the second check. Doesn't call the
> chechRequired ()
> > > > > > > > > > {
> > > > > > > > > >
> reportRequiredError();
> > > > > > > > > > }
> > > > > > > > > >
> > > > > > > > > > On Mon, Mar 17, 2008 at 8:02 PM, Vitaly Tsaplin
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > <[EMAIL PROTECTED]> wrote:
> > > > > > > > > > > But if checkRequired () returns true
> isRequired () called again
> > > > > > > > > > > generating a validation error...
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > if (isValid() &&
> isRequired() &&
> > > > > > > > > > > getConvertedInput() == null &&
> isInputNullable()) <<<<---- the second
> > > > > > > > > > > check. Doesn't call the chechRequired ()
> > > > > > > > > > > {
> > > > > > > > > > >
> reportRequiredError();
> > > > > > > > > > > }
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > On Mon, Mar 17, 2008 at 7:47 PM, Igor Vaynberg
> <[EMAIL PROTECTED]> wrote:
> > > > > > > > > > > > sure it does, see the first line of
> validate()
> > > > > > > > > > > >
> > > > > > > > > > > > -igor
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > On Mon, Mar 17, 2008 at 11:06 AM, Vitaly
> Tsaplin
> > > > > > > > > > > > <[EMAIL PROTECTED]> wrote:
> > > > > > > > > > > > > Hi guys,
> > > > > > > > > > > > >
> > > > > > > > > > > > > It seams that there is a bug in the
> FormComponent code. I try to
> > > > > > > > > > > > > override chechRequired method but it
> seams to not work at all.
> > > > > > > > > > > > > Here is a snippet from the sources. As
> you can see there is a
> > > > > > > > > > > > > second requirement check.
> > > > > > > > > > > > >
> > > > > > > > > > > > > /**
> > > > > > > > > > > > > * Checks if the raw input value
> is not null if this component is required.
> > > > > > > > > > > > > */
> > > > > > > > > > > > > protected final void
> validateRequired()
> > > > > > > > > > > > > {
> > > > > > > > > > > > > if (!checkRequired())
> <<<<---- the first check
> > > > > > > > > > > > > {
> > > > > > > > > > > > >
> reportRequiredError();
> > > > > > > > > > > > > }
> > > > > > > > > > > > > }
> > > > > > > > > > > > >
> > > > > > > > > > > > > /**
> > > > > > > > > > > > > * Performs full validation of
> the form component, which consists of
> > > > > > > > > > > > > calling validateRequired(),
> > > > > > > > > > > > > * convertInput(), and
> validateValidators(). This method should only
> > > > > > > > > > > > > be used if the form
> > > > > > > > > > > > > * component needs to be fully
> validated outside the form process.
> > > > > > > > > > > > > */
> > > > > > > > > > > > > public final void validate()
> > > > > > > > > > > > > {
> > > > > > > > > > > > > validateRequired();
> > > > > > > > > > > > > if (isValid())
> > > > > > > > > > > > > {
> > > > > > > > > > > > > convertInput();
> > > > > > > > > > > > >
> > > > > > > > > > > > > if (isValid() &&
> isRequired() &&
> > > > > > > > > > > > > getConvertedInput() == null &&
> isInputNullable()) <<<<---- the second
> > > > > > > > > > > > > check. Doesn't call the chechRequired ()
> > > > > > > > > > > > > {
> > > > > > > > > > > > >
> reportRequiredError();
> > > > > > > > > > > > > }
> > > > > > > > > > > > >
> > > > > > > > > > > > > if (isValid())
> > > > > > > > > > > > > {
> > > > > > > > > > > > >
> validateValidators();
> > > > > > > > > > > > > }
> > > > > > > > > > > > > }
> > > > > > > > > > > > > }
> > > > > > > > > > > > >
> > > > > > > > > > > > > Vitaly
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> ---------------------------------------------------------------------
> > > > > > > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > > > > > > > For additional commands, e-mail: [EMAIL
> PROTECTED]
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> ---------------------------------------------------------------------
> > > > > > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > > > > > > For additional commands, e-mail: [EMAIL
> PROTECTED]
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> ---------------------------------------------------------------------
> > > > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > >
> ---------------------------------------------------------------------
> > > > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> ---------------------------------------------------------------------
> > > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> ---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > > >
> > > > > >
> > > > >
> > > > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > >
> > > > >
> > > >
> > > >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]