Martin,

Thank you so much. I was exactly in the position where delta458 was and
almost got through with it.
After following your suggestions, the ValidationMsgBehavior looks like this:

<pre>
public class ValidationMsgBehavior extends Behavior
{
    @Override
    public void onRendered(Component c)
    {
        FormComponent fc = (FormComponent) c;
        if (!fc.isValid()) {
            String error;
            if (fc.hasFeedbackMessage()) {
                error =
fc.getFeedbackMessages().first(FeedbackMessage.ERROR).toString();
            } else {
                error = "Your input is invalid.";
            }
            fc.getResponse().write(
                    "<div class=\"validationErrorMessage\">" + error +
"</div>");
        }
    }
}
</pre>

I'm using Wicket 6.3.0 and there is no "onRendered" method in Behavior.
I should be using "afterRender(Component component)" now, right?
That will make this code compatible with the latest wicket version.


On Wed, Oct 17, 2012 at 3:07 PM, Martin Grigorov <mgrigo...@apache.org>wrote:

> On Wed, Oct 17, 2012 at 8:22 AM, delta458 <delta...@hotmail.com> wrote:
> > Hi Martin,
> > thanks so much for the replies... almost done, some little questions
> still
> > there.. I got it working, could you verify that its right what I made? :)
> >
> > 1)
> > *//Had Error: Wrong number of type arguments, required 2 - It works when
> I
> > do  IVisitor<Component,Void> ;-)
>
> Trust the compiler and follow his recommendations ;-)
>
> > public class ShinyFormVisitor implements
> IVisitor<Component>,Serializable {*
> >
> >     Set visited = new HashSet();
> >
> >     public void component(final Component c, final IVisit<Void> visit
> > /*[2]*/) {
> >         if (!visited.contains(c)) {
> >             visited.add(c);
> >             c.add(new RequiredBorder());
> >             c.add(new ValidationMsgBehavior());
> >             c.add(new ErrorHighlightBehavior());
> >         }
> >     }
> >
> > ...
> >
> >     private class ValidationMsgBehavior extends Behavior {
> >
> >         public void onRendered(Component c) {
> >             FormComponent fc = (FormComponent) c;
> >             if (!fc.isValid()) {
> >                 String error;
> >                 if (fc.hasFeedbackMessage()) {
> >                   * //Had error, now working with this.. thats right?
> >                     error =
> > fc.getFeedbackMessages().first().getLevelAsString();*
>
> fc.getFeedbackMessages().first(FeedbackMessage.LEVEL_ERROR).toString();
>
> Or you may use the default registered converter to transform it to
> String. But this is more advanced and most probably you don't need it.
>
> >
> >                 } else {
> >                     error = "Your input is invalid.";
> >                 }
> >                 fc.getResponse().write(
> >                         "<div class=\"validationMsg\">" + error +
> "</div>");
> >             }
> >         }
> >     }
> > }
> >
> >
> > 2) Do you know any good wicket tutorials/example where I can learn how to
> > work with customized FeedbackMessages?
>
> The source code is the best. It is really simple.
> Check
> https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/markup/html/panel/FeedbackPanel.java
>
> >
> > thanks..
> >
> >
> >
> >
> > --
> > View this message in context:
> http://apache-wicket.1842946.n4.nabble.com/highlight-invalid-fields-with-custom-Validation-Framework-tp4652949p4653024.html
> > Sent from the Users forum mailing list archive at Nabble.com.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> > For additional commands, e-mail: users-h...@wicket.apache.org
> >
>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


-- 
Thanks & regards
James Selvakumar

Reply via email to