My component accepts 3 models as parameters, and uses this models
internally. The component's model is not involved at all. You mean the
method convertinput () must return at least something other then null?

On Tue, Mar 18, 2008 at 1:10 AM, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> i assumed you properly implemented convertinput(). you cannot call
>  setrequired(true) on the formcomponentpanel and then expect to
>  completely avoid the required check.
>
>  the required check is two-pronged. first half is done in the
>  checkRequired() and works on the raw input. second part makes sure
>  that your type-conversion did not take a non-null input and convert it
>  into null...this is the part that is failing for you. that is
>  something you should properly implement...
>
>  -igor
>
>
>  On Mon, Mar 17, 2008 at 3: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]
>  >
>  >
>
>  ---------------------------------------------------------------------
>  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]

Reply via email to