turning your code into a quickstart project works for me, onSubmit is successfully called.. Did you debug and see the return value of continueToOriginalDestination() ?


Ajayi Yinka wrote:
Thanks for your concern. I added it (check the LoginForm class, you will see
the onSubmit method). I used the default form submit button. I tried the
wicket button before, but the same problem persist.

On Thu, Sep 11, 2008 at 5:33 AM, Serkan Camurcuoglu <[EMAIL PROTECTED]>wrote:

how do you submit the form? it seems like you do not add a submit button or
submit link into the form..



Ajayi Yinka wrote:

Hi,
This problem still persist till now. I can really figure out the cause of
the problem. Could anyone help me out? This is one of the pages in my
application. I have searched all the texts I have on wicket to get the
cause
of the problem but I coudn't find one.

I appreciate any asisstance anyone can render on this.

Thanks in advance.
package web.page;

import web.UserSession;
import web.component.MainNavigationComponent;
import pojo.User;
import services.TouchPayService;
import java.util.List;
import org.apache.wicket.Session;
import org.apache.wicket.injection.web.InjectorHolder;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.Model;
import org.apache.wicket.spring.injection.annot.SpringBean;

/**
 *
 * @author AJAYI YINKA
 */
public final class Login extends AbstractConsoleWebPage  {

   Form form;
   private TextField userId;
   private PasswordTextField userPassword;
   List<User> users;
   @SpringBean
   TouchPayService touchpay;
   private static final long serialVersionUID = 1L;
   public Login() {

       InjectorHolder.getInjector().inject(this);

       org.apache.wicket.Component mainNavigation;

       mainNavigation = new MainNavigationComponent("mainNavigation",
null);

       userId = new TextField("userId", new Model(" "));
       userId.setRequired(true);


       userPassword = new PasswordTextField("userPassword", new Model("
"));
       userPassword.setRequired(true);

       form = new LoginFormComponent("f");

       add(new FeedbackPanel("errorMsg"));
       form.add(userId);
       form.add(userPassword);
       add(form);
       add(mainNavigation);


   }

   public void setUser(User user) {
       ((UserSession) getSession()).setCurrentUser(user);
   }


   @Override
   public String getTitle() {
       return "Login Page";
   }

   class LoginFormComponent extends Form {

       public LoginFormComponent(String id) {
           super(id);
       }

       @Override
       public void onError(){

       setResponsePage(Login.class);
        }

       @Override
       public void onSubmit() {


           String userId = (String) Login.this.getUserId();
           String userPassword = (String) Login.this.getPassword();

           User user = null;
           users = touchpay.findAllUsers();

           for (User userInDB : users) {
               if ((userInDB.getUsername().equals(userId)) &&
(userInDB.getPassword().equals(userPassword))) {
                   user = userInDB;
               }
           }
           if (user == null) {
               // not yet implemented
               } else {
               setUser(user);
               Session.get().info("You have logged in successfully");

               if (!continueToOriginalDestination()) {
                   setResponsePage(HomePage.class);
               }
           }

       }
   }

   /** Helper methods to retrieve the userId and the password **/
   protected String getUserId() {
       return userId.getModelObjectAsString();
   }

   protected String getPassword() {
       return userPassword.getModelObjectAsString();
   }
}




On Wed, Sep 10, 2008 at 6:18 AM, Ajayi Yinka <[EMAIL PROTECTED]
wrote:

hi guys,
I have try to get over the problem by calling Login.class in onError
method. this seems to cover this bugs, but I am not satistify as the
error
message is still redisplaying in the next page.
I think what i really need is the problems that are associated with
validation.

On Wed, Sep 10, 2008 at 4:58 AM, Ajayi Yinka <[EMAIL PROTECTED]
wrote:

I thought as much, it seems I am missing something out in validation
process. Please help me check out from this snippet of my codes

userId = new TextField("userId", new Model(""));
       userId.setRequired(true);


       userPassword = new PasswordTextField("userPassword", new
Model(""));
       userPassword.setRequired(true);

       form.add(userId);
       form.add(userPassword);
     add(form);

add(new FeedbackPanel("errorMsg"));

thanks.



On Wed, Sep 10, 2008 at 4:06 AM, Serkan Camurcuoglu <
[EMAIL PROTECTED]


wrote:
       if onSubmit is not called and the form is redisplayed with the
values
that you've last entered, it seems like the form is not validated
successfully..



Ajayi Yinka wrote:



Hi guys,
I am a newbie in wicket. I am presently developpng an application
using
wicket framework. I am having problem in submitting my forms.
The form submissionis actually working whenever I enter a value but if
no
value is put in the textbox, feedback panel will  display  the error
message
(I think this is good).

The problem is that if I now enter values in the textboxes, the
onsubmit
method is not executed. I dont know what is causing this.
I need a prompt response as this is delaying the progress of my job.
Thanks.
Yinka.





---------------------------------------------------------------------
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