Hi,

I am trying to show validation errors on a page. Somehow it won't function! But 
I don't understand why?

I mean I am using the right Validation class... Why don't wicket show any error 
when the user does a wrong input?


Thanks!


import java.util.Date;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.form.TextField;
import 
org.apache.wicket.markup.html.form.validation.EqualPasswordInputValidator;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.util.value.ValueMap;
import org.omikron.test.data.Administrator;
import org.omikron.test.data.AdministratorDataProvider;

/**
 *
 * @author sven.dzepina
 */
public class CreateAdministratorForm extends Form {
    private ValueMap properties = new ValueMap();
    TextField<String> username;
    TextField<String> email;
    TextField<String> firstname;
    TextField<String> lastname;
    PasswordTextField password;
    PasswordTextField password2;
    Boolean isUpdate = false;
    Administrator a;
    
    public CreateAdministratorForm(String id) {
        super(id);
        username = new RequiredTextField<String>("username", new 
PropertyModel<String>(properties, "username"));
        password = new PasswordTextField("password", new 
PropertyModel<String>(properties, "password"));
        password2 = new PasswordTextField("password2", new 
PropertyModel<String>(properties, "password2"));
        email = new RequiredTextField("email", new PropertyModel(properties, 
"email"));
        firstname = new RequiredTextField("firstname", new 
PropertyModel(properties, "firstname"));
        lastname = new RequiredTextField("lastname", new 
PropertyModel(properties, "lastname"));
        add(email);
        add(password2);
        add(firstname);
        add(lastname);
        add(username);
        add(password);
        add(new EqualPasswordInputValidator(password, password2));
    }

    public void setUpdate(Administrator a) {
        this.a = a;
        isUpdate = true;
        IModel<String> usernameModel = Model.of(a.getUsername());
        IModel<String> emailModel = Model.of(a.getEmail());
        IModel<String> firstnameModel = Model.of(a.getFirstname());
        IModel<String> lastnameModel = Model.of(a.getLastname());
        username.setModel(usernameModel);
        email.setModel(emailModel);
        firstname.setModel(firstnameModel);
        lastname.setModel(lastnameModel);
    }

    @Override
    public void onSubmit() {

        if ( !isUpdate ) {
            Administrator a = new Administrator();
            a.setEmail(email.getModel().getObject());
            a.setFirstname(firstname.getModel().getObject());
            a.setLastname(lastname.getModel().getObject());
            a.setPassword(password.getModel().getObject());
            a.setUsername(username.getModel().getObject());
            a.setSysTimestamp(new Date());
            AdministratorDataProvider administratorDataProvider = new 
AdministratorDataProvider();
            administratorDataProvider.save(a);
        } else {
            a.setEmail(email.getModel().getObject());
            a.setFirstname(firstname.getModel().getObject());
            a.setLastname(lastname.getModel().getObject());
            a.setPassword(password.getModel().getObject());
            a.setUsername(username.getModel().getObject());
            a.setSysTimestamp(new Date());
            AdministratorDataProvider administratorDataProvider = new 
AdministratorDataProvider();
            administratorDataProvider.save(a);
        }
    }
}




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to