Example usage for org.apache.wicket.validation.validator StringValidator minimumLength

List of usage examples for org.apache.wicket.validation.validator StringValidator minimumLength

Introduction

In this page you can find the example usage for org.apache.wicket.validation.validator StringValidator minimumLength.

Prototype

public static StringValidator minimumLength(int length) 

Source Link

Usage

From source file:by.grodno.ss.rentacar.webapp.page.admin.panel.UserEditPanel.java

@Override
public void onInitialize() {
    super.onInitialize();
    UserEditPanel.this.setOutputMarkupId(true);

    Form<UserProfile> form = new Form<UserProfile>("form", new CompoundPropertyModel<UserProfile>(userProfile));

    TextField<String> created = new TextField<String>("created");
    created.setEnabled(false);//from   w w w  . j  a  va2 s  .  c om
    form.add(created);

    TextField<String> email = new TextField<String>("email", new PropertyModel<>(userCredentials, "email"));
    email.setRequired(true);
    email.add(StringValidator.maximumLength(100));
    email.add(StringValidator.minimumLength(3));
    email.add(EmailAddressValidator.getInstance());
    form.add(email);

    DropDownChoice<UserRole> roleDropDown = new DropDownChoice<>("role",
            new PropertyModel<>(userCredentials, "role"), Arrays.asList(UserRole.values()),
            UserRoleChoiceRenderer.INSTANCE);
    roleDropDown.setRequired(true);
    form.add(roleDropDown);

    TextField<String> firstName = new TextField<String>("firstName");
    firstName.setRequired(true);
    firstName.add(StringValidator.maximumLength(100));
    firstName.add(StringValidator.minimumLength(2));
    firstName.add(new PatternValidator("[A-Za-z]+"));
    form.add(firstName);

    TextField<String> lastName = new TextField<String>("lastName");
    lastName.setRequired(true);
    lastName.add(StringValidator.maximumLength(100));
    lastName.add(StringValidator.minimumLength(2));
    lastName.add(new PatternValidator("[A-Za-z]+"));
    form.add(lastName);

    TextField<String> phone = new TextField<String>("phoneNumber");
    phone.setRequired(true);
    phone.add(StringValidator.maximumLength(100));
    phone.add(StringValidator.minimumLength(2));
    phone.add(new PatternValidator("[0-9+()-]+"));
    form.add(phone);

    TextField<String> licNumber = new TextField<String>("licenseNumber");
    licNumber.add(StringValidator.maximumLength(100));
    licNumber.add(StringValidator.minimumLength(2));
    licNumber.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(licNumber);

    DateTextFieldConfig config = new DateTextFieldConfig();
    config.withLanguage(AuthorizedSession.get().getLocale().getLanguage());
    config.withFormat("dd.MM.yyyy");
    DateTextField dateBirth = new DateTextField("birthDay", config);
    form.add(dateBirth);

    TextField<String> address = new TextField<String>("address");
    address.add(StringValidator.maximumLength(100));
    address.add(StringValidator.minimumLength(2));
    address.add(new PatternValidator("[A-Za-z0-9 /-]+"));
    form.add(address);

    TextField<String> city = new TextField<String>("city");
    city.add(StringValidator.maximumLength(100));
    city.add(StringValidator.minimumLength(2));
    city.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(city);

    TextField<String> region = new TextField<String>("region");
    region.add(StringValidator.maximumLength(100));
    region.add(StringValidator.minimumLength(2));
    region.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(region);

    TextField<String> zip = new TextField<String>("zipCode");
    zip.add(StringValidator.maximumLength(20));
    zip.add(StringValidator.minimumLength(2));
    zip.add(new PatternValidator("[0-9]+"));
    form.add(zip);

    WebMarkupContainer passTable = new WebMarkupContainer("pass-table");
    passTable.setOutputMarkupId(true);

    WebMarkupContainer trPass = new WebMarkupContainer("pass");
    WebMarkupContainer trCpass = new WebMarkupContainer("cpass");
    if (userProfile.getId() == null) {
        trPass.setVisible(true);
        trCpass.setVisible(true);
    } else {
        trPass.setVisible(false);
        trCpass.setVisible(false);
    }
    trPass.setOutputMarkupId(true);
    trCpass.setOutputMarkupId(true);

    PasswordTextField password = new PasswordTextField("password",
            new PropertyModel<>(userCredentials, "password"));
    trPass.add(password);
    PasswordTextField cpassword = new PasswordTextField("cpassword", Model.of(""));
    trCpass.add(cpassword);

    passTable.add(trPass);
    passTable.add(trCpass);
    form.add(passTable);
    form.add(new EqualPasswordInputValidator(password, cpassword));

    AjaxLink<Void> changePass = new AjaxLink<Void>("change-password") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (!trPass.isVisible()) {
                trPass.setVisible(true);
                trCpass.setVisible(true);
                passTable.add(trPass);
                passTable.add(trCpass);
            } else {
                trPass.setVisible(false);
                trCpass.setVisible(false);
            }
            if (target != null) {
                target.add(passTable);
            }
        }
    };
    if (userProfile.getId() == null) {
        changePass.setVisible(false);
    }
    form.add(changePass);

    form.add(new SubmitLink("save") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            if (userProfile.getId() == null) {
                userService.register(userProfile, userCredentials);
            } else {
                userService.update(userProfile);
                userService.update(userCredentials);
            }
            info("User was saved");
        }
    });

    boolean a = (AuthorizedSession.get().isSignedIn()
            && AuthorizedSession.get().getLoggedUser().getRole().equals(UserRole.ADMIN));
    form.setEnabled(a);
    add(form);

    add(new AjaxLink<Void>("back") {
        private static final long serialVersionUID = 1L;

        public void onClick(AjaxRequestTarget target) {
            Component newPanel = new UserListPanel(UserEditPanel.this.getId(), filter);
            UserEditPanel.this.replaceWith(newPanel);
            if (target != null) {
                target.add(newPanel);
            }
        }
    });
}

From source file:by.grodno.ss.rentacar.webapp.page.MyBooking.ProfileEditPanel.java

@Override
public void onInitialize() {
    super.onInitialize();
    final NotificationPanel feedback = new NotificationPanel("feedbackpanel");
    add(feedback);//from   w w  w.  j  a  v a 2 s . c om

    Form<UserProfile> form = new Form<UserProfile>("form", new CompoundPropertyModel<UserProfile>(userProfile));

    TextField<String> firstName = new TextField<String>("firstName");
    firstName.setRequired(true);
    firstName.add(StringValidator.maximumLength(100));
    firstName.add(StringValidator.minimumLength(2));
    firstName.add(new PatternValidator("[A-Za-z]+"));
    form.add(firstName);

    TextField<String> lastName = new TextField<String>("lastName");
    lastName.setRequired(true);
    lastName.add(StringValidator.maximumLength(100));
    lastName.add(StringValidator.minimumLength(2));
    lastName.add(new PatternValidator("[A-Za-z]+"));
    form.add(lastName);

    TextField<String> phone = new TextField<String>("phoneNumber");
    phone.setRequired(true);
    phone.add(StringValidator.maximumLength(100));
    phone.add(StringValidator.minimumLength(2));
    phone.add(new PatternValidator("[0-9+()-]+"));
    form.add(phone);

    TextField<String> licNumber = new TextField<String>("licenseNumber");
    licNumber.add(StringValidator.maximumLength(100));
    licNumber.add(StringValidator.minimumLength(2));
    licNumber.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(licNumber);

    DateTextFieldConfig config = new DateTextFieldConfig();
    config.withLanguage(AuthorizedSession.get().getLocale().getLanguage());
    config.withFormat("dd.MM.yyyy");
    DateTextField dateBirth = new DateTextField("birthDay", config);
    form.add(dateBirth);

    TextField<String> address = new TextField<String>("address");
    address.add(StringValidator.maximumLength(100));
    address.add(StringValidator.minimumLength(2));
    address.add(new PatternValidator("[A-Za-z0-9 /-]+"));
    form.add(address);

    TextField<String> city = new TextField<String>("city");
    city.add(StringValidator.maximumLength(100));
    city.add(StringValidator.minimumLength(2));
    city.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(city);

    TextField<String> region = new TextField<String>("region");
    region.add(StringValidator.maximumLength(100));
    region.add(StringValidator.minimumLength(2));
    region.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(region);

    TextField<String> zip = new TextField<String>("zipCode");
    zip.add(StringValidator.maximumLength(20));
    zip.add(StringValidator.minimumLength(2));
    zip.add(new PatternValidator("[0-9]+"));
    form.add(zip);

    Label email = new Label("email", new PropertyModel<>(userCredentials, "email"));
    form.add(email);

    WebMarkupContainer passTable = new WebMarkupContainer("pass-table");
    passTable.setOutputMarkupId(true);

    WebMarkupContainer trPass = new WebMarkupContainer("pass");
    WebMarkupContainer trCpass = new WebMarkupContainer("cpass");
    if (userProfile.getId() == null) {
        trPass.setVisible(true);
        trCpass.setVisible(true);
    } else {
        trPass.setVisible(false);
        trCpass.setVisible(false);
    }
    trPass.setOutputMarkupId(true);
    trCpass.setOutputMarkupId(true);

    PasswordTextField password = new PasswordTextField("password",
            new PropertyModel<>(userCredentials, "password"));
    trPass.add(password);
    PasswordTextField cpassword = new PasswordTextField("cpassword", Model.of(""));
    trCpass.add(cpassword);

    passTable.add(trPass);
    passTable.add(trCpass);
    form.add(passTable);
    form.add(new EqualPasswordInputValidator(password, cpassword));

    AjaxLink<Void> changePass = new AjaxLink<Void>("change-password") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (!trPass.isVisible()) {
                trPass.setVisible(true);
                trCpass.setVisible(true);
                passTable.add(trPass);
                passTable.add(trCpass);
            } else {
                trPass.setVisible(false);
                trCpass.setVisible(false);
            }
            if (target != null) {
                target.add(passTable);
            }
        }
    };
    if (userProfile.getId() == null) {
        changePass.setVisible(false);
    }
    form.add(changePass);

    form.add(new SubmitLink("save") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            if (userProfile.getId() == null) {
                error("saving error");
            } else {
                userService.update(userProfile);
                userService.update(userCredentials);
            }
            info("User was saved");
        }
    });
    add(form);

    add(new Link<Void>("back") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            setResponsePage(new MyBookingPage());
        }
    });
}

From source file:by.grodno.ss.rentacar.webapp.page.order.CheckoutPage.java

@Override
protected void onInitialize() {
    super.onInitialize();
    final NotificationPanel feedback = new NotificationPanel("feedbackpanel");

    SimpleDateFormat dt = new SimpleDateFormat("dd.MM.yyy HH:mm");
    add(new Label("duration",
            bookingService.convertDurationToString(filter.getDateFrom(), filter.getDateTo())));
    add(new Label("dateFrom", dt.format(filter.getDateFrom())));
    add(new Label("locationFrom", filter.getLocationFrom().getName()));
    add(new Label("dateTo", dt.format(filter.getDateTo())));
    add(new Label("locationTo", filter.getLocationTo().getName()));
    add(new Link<Void>("link-change") {
        private static final long serialVersionUID = 1L;

        @Override/*from  w  w w . j ava 2s . c  o  m*/
        public void onClick() {
            setResponsePage(new ReservationPage(filter));
        }
    });
    add(new Link<Void>("link-change-car") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick() {
            setResponsePage(new ChooseCarPage(filter));
        }
    });
    addImage(car);
    add(new Label("name", car.getName()));
    add(new Label("type", car.getType().getName()));
    add(new Label("pass", car.getType().getNumPassengers()));
    add(new Label("bags", car.getType().getNumBags()));
    add(new Label("doors", car.getType().getNumDoors()));
    add(new Label("trans", car.getType().getTransmissionType()));

    add(new Label("rental-duration",
            bookingService.convertDurationToString(filter.getDateFrom(), filter.getDateTo())));
    BigDecimal pricePerHour = car.getType().getPricePerHour();
    totalPrice = bookingService.getTotalPrice(filter.getDateFrom(), filter.getDateTo(), pricePerHour);
    BigDecimal pricePerDay = bookingService.getPricePerDay(pricePerHour);
    int percent = settingService.get().getDepositPayment();
    BigDecimal requiredDeposit = bookingService.getRequiredDeposit(totalPrice, percent);
    add(new Label("pricePerHour", pricePerHour.toString()));
    add(new Label("total", totalPrice.toString()));
    add(new Label("pricePerDay", pricePerDay.toString()));
    add(new Label("requiredDeposit", requiredDeposit.toString()));
    add(new Label("total1", totalPrice.toString()));
    add(new Label("percent", percent));
    add(getPriceIcon("iconPrice1"));
    add(getPriceIcon("iconPrice2"));
    add(getPriceIcon("iconPrice3"));
    add(getPriceIcon("iconPrice4"));
    add(getPriceIcon("iconPrice5"));

    // -----checkout form------------
    Form<UserProfile> form = new Form<UserProfile>("form-checkout",
            new CompoundPropertyModel<UserProfile>(userProfile));
    // form.add(new FeedbackPanel("feedbackpanel"));

    TextField<String> firstName = new TextField<String>("firstName",
            new PropertyModel<>(userProfile, "firstName"));
    firstName.setRequired(true);
    firstName.add(StringValidator.maximumLength(100));
    firstName.add(StringValidator.minimumLength(2));
    firstName.add(new PatternValidator("[A-Za-z]+"));
    form.add(firstName);

    TextField<String> lastName = new TextField<String>("lastName",
            new PropertyModel<>(userProfile, "lastName"));
    lastName.setRequired(true);
    lastName.add(StringValidator.maximumLength(100));
    lastName.add(StringValidator.minimumLength(2));
    firstName.add(new PatternValidator("[A-Za-z]+"));
    form.add(lastName);

    TextField<String> phone = new TextField<String>("phone", new PropertyModel<>(userProfile, "phoneNumber"));
    phone.setRequired(true);
    phone.add(StringValidator.maximumLength(100));
    phone.add(StringValidator.minimumLength(2));
    phone.add(new PatternValidator("[0-9+()-]+"));
    form.add(phone);

    DateTextFieldConfig config = new DateTextFieldConfig();
    config.withLanguage(AuthorizedSession.get().getLocale().getLanguage());
    config.withFormat("dd.MM.yyyy");
    DateTextField dateBirth = new DateTextField("date-birth", new PropertyModel<>(userProfile, "birthDay"),
            config);
    form.add(dateBirth);

    TextField<String> licNumber = new TextField<String>("lic-number",
            new PropertyModel<>(userProfile, "licenseNumber"));
    licNumber.add(StringValidator.maximumLength(100));
    licNumber.add(StringValidator.minimumLength(2));
    licNumber.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(licNumber);

    TextField<String> note = new TextField<String>("note", new PropertyModel<>(booking, "note"));
    note.add(StringValidator.maximumLength(500));
    form.add(note);

    TextField<String> address = new TextField<String>("address", new PropertyModel<>(userProfile, "address"));
    address.add(StringValidator.maximumLength(100));
    address.add(StringValidator.minimumLength(2));
    address.add(new PatternValidator("[A-Za-z0-9 /-]+"));
    form.add(address);

    TextField<String> city = new TextField<String>("city", new PropertyModel<>(userProfile, "city"));
    city.add(StringValidator.maximumLength(100));
    city.add(StringValidator.minimumLength(2));
    city.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(city);

    TextField<String> region = new TextField<String>("region", new PropertyModel<>(userProfile, "region"));
    region.add(StringValidator.maximumLength(100));
    region.add(StringValidator.minimumLength(2));
    region.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(region);

    TextField<String> zip = new TextField<String>("zip-code", new PropertyModel<>(userProfile, "zipCode"));
    zip.add(StringValidator.maximumLength(20));
    zip.add(StringValidator.minimumLength(2));
    zip.add(new PatternValidator("[0-9]+"));
    form.add(zip);

    BootstrapCheckBoxPicker chk0 = new BootstrapCheckBoxPicker("check-confirm", Model.of(Boolean.FALSE));
    form.add(chk0);

    form.add(new SubmitLink("button-confirm") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            if (chk0.getModelObject().equals(false)) {
                info("You must to agree rental terms");
            } else {
                if (userProfile.getId() == null) {
                    userCredential.setEmail("unregistered user");
                    userCredential.setPassword("pswd");
                    userCredential.setRole(UserRole.UNREGISTERED);
                    userService.register(userProfile, userCredential);
                } else {
                    userService.update(userProfile);
                }
                booking.setSumm(totalPrice);
                booking.setClient(userProfile);
                booking.setOrderStatus(OrderStatus.pending);
                bookingService.saveOrUpdate(booking);
                setResponsePage(new ConfirmPage());
            }
        }
    });

    form.add(feedback);
    add(form);

}

From source file:by.grodno.ss.rentacar.webapp.page.register.RegisterPanel.java

@Override
protected void onInitialize() {
    super.onInitialize();
    Form<UserCredentials> form = new Form<UserCredentials>("form-register",
            new CompoundPropertyModel<UserCredentials>(userCredentials));
    form.add(new FeedbackPanel("feedbackpanel"));

    TextField<String> email = new TextField<String>("email");
    email.setRequired(true);/*from  w ww.  java2  s .com*/
    email.add(StringValidator.maximumLength(100));
    email.add(StringValidator.minimumLength(3));
    email.add(EmailAddressValidator.getInstance());
    form.add(email);

    PasswordTextField password = new PasswordTextField("password");
    password.setRequired(true);
    password.add(StringValidator.maximumLength(100));
    password.add(StringValidator.minimumLength(6));
    password.add(new PatternValidator("[A-Za-z0-9_-]+"));
    form.add(password);

    TextField<String> firstName = new TextField<String>("firstName",
            new PropertyModel<>(userProfile, "firstName"));
    firstName.setRequired(true);
    firstName.add(StringValidator.maximumLength(100));
    firstName.add(StringValidator.minimumLength(2));
    firstName.add(new PatternValidator("[A-Za-z]+"));
    form.add(firstName);

    TextField<String> lastName = new TextField<String>("lastName",
            new PropertyModel<>(userProfile, "lastName"));
    lastName.setRequired(true);
    lastName.add(StringValidator.maximumLength(100));
    lastName.add(StringValidator.minimumLength(2));
    firstName.add(new PatternValidator("[A-Za-z]+"));
    form.add(lastName);

    TextField<String> phone = new TextField<String>("phone", new PropertyModel<>(userProfile, "phoneNumber"));
    phone.setRequired(true);
    phone.add(StringValidator.maximumLength(100));
    phone.add(StringValidator.minimumLength(2));
    phone.add(new PatternValidator("[0-9+()-]+"));
    form.add(phone);

    DateTextFieldConfig config = new DateTextFieldConfig();
    config.withLanguage(AuthorizedSession.get().getLocale().getLanguage());
    config.withFormat("dd.MM.yyyy");
    DateTextField dateBirth = new DateTextField("date-birth", new PropertyModel<>(userProfile, "birthDay"),
            config);
    form.add(dateBirth);

    TextField<String> licNumber = new TextField<String>("lic-number",
            new PropertyModel<>(userProfile, "licenseNumber"));
    licNumber.add(StringValidator.maximumLength(100));
    licNumber.add(StringValidator.minimumLength(2));
    licNumber.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(licNumber);

    TextField<String> address = new TextField<String>("address", new PropertyModel<>(userProfile, "address"));
    address.add(StringValidator.maximumLength(100));
    address.add(StringValidator.minimumLength(2));
    address.add(new PatternValidator("[A-Za-z0-9 /-]+"));
    form.add(address);

    TextField<String> city = new TextField<String>("city", new PropertyModel<>(userProfile, "city"));
    city.add(StringValidator.maximumLength(100));
    city.add(StringValidator.minimumLength(2));
    city.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(city);

    TextField<String> region = new TextField<String>("region", new PropertyModel<>(userProfile, "region"));
    region.add(StringValidator.maximumLength(100));
    region.add(StringValidator.minimumLength(2));
    region.add(new PatternValidator("[A-Za-z0-9]+"));
    form.add(region);

    TextField<String> zip = new TextField<String>("zip-code", new PropertyModel<>(userProfile, "zipCode"));
    zip.add(StringValidator.maximumLength(20));
    zip.add(StringValidator.minimumLength(2));
    zip.add(new PatternValidator("[0-9]+"));
    form.add(zip);

    BootstrapCheckBoxPicker chk0 = new BootstrapCheckBoxPicker("check-confirm", Model.of(Boolean.FALSE));
    form.add(chk0);

    form.add(new SubmitLink("button-register") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            if (chk0.getModelObject().equals(false)) {
                info("You must to agree rental terms");
            } else {
                userCredentials.setRole(UserRole.CLIENT);
                if (userProfile.getId() == null) {
                    userService.register(userProfile, userCredentials);
                } else {
                    userService.update(userProfile);
                    userService.update(userCredentials);
                }
                setResponsePage(new LoginPage());
            }
        }
    });
    add(form);

}

From source file:com.alfredmuponda.lostandfound.pages.AddNewUserPage.java

License:Apache License

public AddNewUserPage() {
    user = new User();
    admin = Arrays.asList("Yes", "No");
    Form form = new Form("form");
    add(new HeaderPanel("headerpanel"));
    add(form);/* ww w . ja  v  a 2  s  .c o m*/

    designationField = new TextField("designation", new PropertyModel(user, "designation"));
    crNumberField = new TextField("crnumber", new PropertyModel(user, "crNumber"));
    stationField = new TextField("station", new PropertyModel(user, "station"));
    sectionField = new TextField("section", new PropertyModel(user, "section"));
    sectionRefField = new TextField("sectionref", new PropertyModel(user, "sectionRef"));
    nameField = new TextField("name", new PropertyModel(user, "name"));
    surnameField = new TextField("surname", new PropertyModel(user, "surname"));
    usernameField = new TextField("username", new PropertyModel(user, "username"));
    passwordField1 = new PasswordTextField("password1", new PropertyModel(user, "password1"));
    passwordField2 = new PasswordTextField("password2", new PropertyModel(user, "password2"));
    isAdminField = new RadioChoice("admin", new PropertyModel(user, "adminAsString"), admin);

    form.add(new FeedbackPanel("feedback"));
    form.add(designationField);
    form.add(crNumberField);
    form.add(stationField);
    form.add(sectionField);
    form.add(sectionRefField);
    form.add(nameField);
    form.add(surnameField);
    form.add(usernameField);
    form.add(passwordField1);
    form.add(passwordField2);
    form.add(isAdminField);
    form.add(new Button("submit") {
        @Override
        public void onSubmit() {
            ReadWriteDatabase db = new ReadWriteDatabase();
            getInfo();
            db.addNewUser(user);
            clear();
        }
    });

    designationField.setRequired(true);
    crNumberField.setRequired(true);
    stationField.setRequired(true);
    sectionRefField.setRequired(true);
    nameField.setRequired(true);
    surnameField.setRequired(true);
    isAdminField.setRequired(true);
    usernameField.setRequired(true).add(new UsernameValidator());
    passwordField1.add(StringValidator.minimumLength(8)).add(new PasswordPolicyValidator());
    passwordField2.add(new SameValueValidator(passwordField1, passwordField2));
}

From source file:cz.zcu.kiv.eegdatabase.wui.components.form.PersonForm.java

License:Apache License

public PersonForm(String id, IModel<Person> model, final EducationLevelFacade educationFacade,
        final PersonFacade personFacade, final FeedbackPanel feedback) {
    super(id, new CompoundPropertyModel<Person>(model));

    final boolean isUserAdmin = EEGDataBaseSession.get().hasRole(UserRole.ROLE_ADMIN.name());

    TextField<String> name = new TextField<String>("givenname");
    name.setLabel(ResourceUtils.getModel("label.name"));
    name.setRequired(true);//from ww  w.jav a 2 s  .c  o m
    name.add(new PatternValidator(StringUtils.REGEX_ONLY_LETTERS));
    FormComponentLabel nameLabel = new FormComponentLabel("nameLb", name);
    add(name, nameLabel);

    TextField<String> surname = new TextField<String>("surname");
    surname.setLabel(ResourceUtils.getModel("label.surname"));
    surname.setRequired(true);
    surname.add(new PatternValidator(StringUtils.REGEX_ONLY_LETTERS));
    FormComponentLabel surnameLabel = new FormComponentLabel("surnameLb", surname);
    add(surname, surnameLabel);

    DateTimeFieldPicker date = new DateTimeFieldPicker("dateOfBirth") {

        private static final long serialVersionUID = 1L;

        @Override
        public <C> IConverter<C> getConverter(Class<C> type) {
            return (IConverter<C>) new TimestampConverter();
        }
    };

    date.setLabel(ResourceUtils.getModel("label.dateOfBirth"));
    date.setRequired(true);
    FormComponentLabel dateLabel = new FormComponentLabel("dateLb", date);
    add(date, dateLabel);

    EmailTextField email = new EmailTextField("username");
    email.setLabel(ResourceUtils.getModel("label.email"));
    email.setRequired(true);
    FormComponentLabel emailLabel = new FormComponentLabel("emailLb", email);
    add(email, emailLabel);

    // only for admins

    final PasswordTextField password = new PasswordTextField("password", new Model<String>(""));
    password.setLabel(ResourceUtils.getModel("general.password"));
    password.add(StringValidator.minimumLength(6));
    password.setRequired(false);
    password.setVisibilityAllowed(isUserAdmin);
    password.setVisible(false);
    add(password);

    final PasswordTextField passwordVerify = new PasswordTextField("passwordVerify", new Model<String>(""));
    passwordVerify.setLabel(ResourceUtils.getModel("general.password.verify"));
    passwordVerify.add(StringValidator.minimumLength(6));
    passwordVerify.setRequired(false);
    passwordVerify.setVisibilityAllowed(isUserAdmin);
    passwordVerify.setVisible(false);
    add(passwordVerify);

    final AjaxCheckBox changePasswordBox = new AjaxCheckBox("changePassword",
            new Model<Boolean>(Boolean.FALSE)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {

            Boolean visible = getModelObject();
            password.setVisible(visible);
            password.setRequired(visible);
            passwordVerify.setVisible(visible);
            passwordVerify.setRequired(visible);

            target.add(PersonForm.this);
        }
    };
    changePasswordBox.setVisibilityAllowed(isUserAdmin);
    add(changePasswordBox);
    // end only for admins

    TextField<String> phoneNumber = new TextField<String>("phoneNumber");
    phoneNumber.setLabel(ResourceUtils.getModel("label.phoneNumber"));
    FormComponentLabel phoneNumberLabel = new FormComponentLabel("phoneNumberLb", phoneNumber);
    add(phoneNumber, phoneNumberLabel);

    RadioChoice<Character> gender = new RadioChoice<Character>("gender", Gender.getShortcutList(),
            new ChoiceRenderer<Character>() {

                private static final long serialVersionUID = 1L;

                @Override
                public Object getDisplayValue(Character object) {
                    Gender enumValue = Gender.getGenderByShortcut(object);
                    return getString(
                            Classes.simpleName(enumValue.getDeclaringClass()) + '.' + enumValue.name());
                }

            });
    gender.setSuffix("\n");
    gender.setRequired(true);
    gender.setLabel(ResourceUtils.getModel("label.gender"));
    FormComponentLabel genderLabel = new FormComponentLabel("genderLb", gender);
    add(gender, genderLabel);

    TextArea<String> note = new TextArea<String>("note");
    note.setLabel(ResourceUtils.getModel("label.note"));
    note.add(StringValidator.maximumLength(255));
    FormComponentLabel noteLabel = new FormComponentLabel("noteLb", note);
    add(note, noteLabel);

    DropDownChoice<Character> laterality = new DropDownChoice<Character>("laterality",
            Laterality.getShortcutList(), new ChoiceRenderer<Character>() {

                private static final long serialVersionUID = 1L;

                @Override
                public Object getDisplayValue(Character object) {
                    Laterality enumValue = Laterality.getLateralityByShortcut(object);
                    return getString(
                            Classes.simpleName(enumValue.getDeclaringClass()) + '.' + enumValue.name());
                }

            });

    laterality.setLabel(ResourceUtils.getModel("label.laterality"));
    FormComponentLabel lateralityLabel = new FormComponentLabel("lateralityLb", laterality);
    add(laterality, lateralityLabel);

    DropDownChoice<EducationLevel> educationLevel = new DropDownChoice<EducationLevel>("educationLevel",
            educationFacade.getAllRecords(), new ChoiceRenderer<EducationLevel>("title", "educationLevelId") {

                private static final long serialVersionUID = 1L;

                @Override
                public Object getDisplayValue(EducationLevel object) {
                    return object.getEducationLevelId() + " " + super.getDisplayValue(object);
                }

            });

    educationLevel.setLabel(ResourceUtils.getModel("label.educationLevel"));
    FormComponentLabel educationLevelLabel = new FormComponentLabel("educationLevelLb", educationLevel);
    add(educationLevel, educationLevelLabel);

    CheckBox lockCheckBox = new CheckBox("lock");
    add(lockCheckBox);

    CheckBox confirmCheckBox = new CheckBox("confirmed");
    add(confirmCheckBox);

    AjaxButton submit = new AjaxButton("submit", ResourceUtils.getModel("button.save"), this) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(feedback);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            Person user = PersonForm.this.getModelObject();
            user.setEmail(user.getUsername().toLowerCase());
            boolean isEdit = user.getPersonId() > 0;

            String planPassword = password.getModelObject();
            String plainPasswordVerify = passwordVerify.getModelObject();
            Boolean isPasswordChanged = changePasswordBox.getModelObject();

            if (validation(user, personFacade, isEdit, isUserAdmin, isPasswordChanged, planPassword,
                    plainPasswordVerify)) {
                if (isEdit) {

                    if (isPasswordChanged)
                        user.setPassword(encodePassword(planPassword));

                    personFacade.update(user);
                } else {
                    user.setAuthority(Util.ROLE_READER);
                    personFacade.create(user);
                }
                setResponsePage(getPage().getClass());
            }

            target.add(feedback);
        }
    };
    add(submit);
}

From source file:cz.zcu.kiv.eegdatabase.wui.ui.security.RegistrationForm.java

License:Apache License

public RegistrationForm(String id, final FeedbackPanel feedback) throws IOException {
    super(id, new CompoundPropertyModel<PersonFormObject>(new PersonFormObject()));

    EmailTextField email = new EmailTextField("email");
    email.setLabel(ResourceUtils.getModel("general.email"));
    email.setRequired(true);/*from  w w  w.ja  va2  s .c om*/
    add(email);

    PasswordTextField password = new PasswordTextField("password");
    password.setLabel(ResourceUtils.getModel("general.password"));
    password.setRequired(true);
    password.add(StringValidator.minimumLength(6));
    add(password);

    PasswordTextField passwordVerify = new PasswordTextField("passwordVerify");
    passwordVerify.setLabel(ResourceUtils.getModel("general.password.verify"));
    passwordVerify.setRequired(true);
    passwordVerify.add(StringValidator.minimumLength(6));
    add(passwordVerify);

    add(panelPerson = new PersonFormPanel<FullPersonDTO>("panelPerson",
            new CompoundPropertyModel<FullPersonDTO>(new FullPersonDTO()), educationLevelFacade));

    //        TextField<String> name = new TextField<String>("name");
    //        name.setLabel(ResourceUtils.getModel("general.name"));
    //        name.setRequired(true);
    //        name.add(new PatternValidator(StringUtils.REGEX_ONLY_LETTERS));
    //        add(name);
    //
    //        TextField<String> surname = new TextField<String>("surname");
    //        surname.setLabel(ResourceUtils.getModel("general.surname"));
    //        surname.setRequired(true);
    //        surname.add(new PatternValidator(StringUtils.REGEX_ONLY_LETTERS));
    //        add(surname);
    //
    //        DateTimeFieldPicker date = new DateTimeFieldPicker("dateOfBirth") {
    //
    //            private static final long serialVersionUID = 1L;
    //
    //            @Override
    //            public <C> IConverter<C> getConverter(Class<C> type) {
    //                return (IConverter<C>) new TimestampConverter();
    //            }
    //        };
    //        date.setLabel(ResourceUtils.getModel("general.dateofbirth"));
    //        //date.setRequired(true);
    //        add(date);
    //
    //
    //        TextField<String> address = new TextField<String>("address");
    //        address.setLabel(ResourceUtils.getModel("label.address"));
    //        add(address);
    //
    //        TextField<String> city = new TextField<String>("city");
    //        city.setLabel(ResourceUtils.getModel("label.city"));
    //        add(city);
    //
    //        TextField<String> state = new TextField<String>("state");
    //        state.setLabel(ResourceUtils.getModel("label.state"));
    //        add(state);
    //
    //        TextField<String> zipCode = new TextField<String>("zipCode");
    //        zipCode.setLabel(ResourceUtils.getModel("label.zipCode"));
    //        add(zipCode);
    //
    //        TextField<String> url = new TextField<String>("url");
    //        url.setLabel(ResourceUtils.getModel("label.url"));
    //        add(url);
    //
    //        TextField<String> phone = new TextField<String>("phone");
    //        phone.setLabel(ResourceUtils.getModel("label.phoneNumber"));
    //        add(phone);
    //
    //        TextField<String> organization = new TextField<String>("organization");
    //        organization.setLabel(ResourceUtils.getModel("label.organization"));
    //        add(organization);
    //
    //        TextField<String> jobTitle = new TextField<String>("jobTitle");
    //        jobTitle.setLabel(ResourceUtils.getModel("label.jobTitle"));
    //        add(jobTitle);
    //
    //        TextField<String> orgAddress = new TextField<String>("orgAddress");
    //        orgAddress.setLabel(ResourceUtils.getModel("label.address"));
    //        add(orgAddress);
    //
    //        TextField<String> orgCity = new TextField<String>("orgCity");
    //        orgCity.setLabel(ResourceUtils.getModel("label.city"));
    //        add(orgCity);
    //
    //        TextField<String> orgState = new TextField<String>("orgState");
    //        orgState.setLabel(ResourceUtils.getModel("label.state"));
    //        add(orgState);
    //
    //        TextField<String> orgZipCode = new TextField<String>("orgZipCode");
    //        orgZipCode.setLabel(ResourceUtils.getModel("label.zipCode"));
    //        add(orgZipCode);
    //
    //        TextField<String> orgUrl = new TextField<String>("orgUrl");
    //        orgUrl.setLabel(ResourceUtils.getModel("label.url"));
    //        add(orgUrl);
    //
    //        TextField<String> orgPhone = new TextField<String>("orgPhone");
    //        orgPhone.setLabel(ResourceUtils.getModel("label.phoneNumber"));
    //        add(orgPhone);
    //
    //        TextField<String> VAT = new TextField<String>("VAT");
    //        VAT.setLabel(ResourceUtils.getModel("label.VAT"));
    //        add(VAT);

    generateCaptchaImageAndPrepareValidation();
    add(captchaImage);

    TextField<String> controlText = new TextField<String>("controlText");
    controlText.setLabel(ResourceUtils.getModel("general.controlText"));
    controlText.setRequired(true);
    add(controlText);

    //        RadioChoice<Gender> gender = new RadioChoice<Gender>("gender", Arrays.asList(Gender.values()), new EnumChoiceRenderer<Gender>());
    //        gender.setSuffix("\n");
    //        gender.setRequired(true);
    //        gender.setLabel(ResourceUtils.getModel("general.gender"));
    //        add(gender);

    //        List<String> listOfTitles = new ArrayList<String>();
    //        listOfTitles.add("Mr.");
    //        listOfTitles.add("Mrs.");
    //        listOfTitles.add("Ms.");
    //
    //        DropDownChoice<String> title = new DropDownChoice<String>("title", listOfTitles,
    //                new ChoiceRenderer<String>() {
    //
    //                    private static final long serialVersionUID = 1L;
    //
    //                    @Override
    //                    public Object getDisplayValue(String object) {
    //                        return object;
    //                    }
    //
    //                });
    //
    //        title.setRequired(true);
    //        title.setLabel(ResourceUtils.getModel("label.title"));
    //        add(title);
    //
    //        File file = ResourceUtils.getFile("countries.txt");
    //        List<String> countries = FileUtils.getFileLines(file);
    //
    //        DropDownChoice<String> country = new DropDownChoice<String>("country", countries,
    //                new ChoiceRenderer<String>("country") {
    //
    //                    private static final long serialVersionUID = 1L;
    //
    //                    @Override
    //                    public Object getDisplayValue(String object) {
    //                        return object;
    //                    }
    //
    //                });
    //
    //        country.setRequired(true);
    //        country.setLabel(ResourceUtils.getModel("label.country"));
    //        add(country);
    //
    //        DropDownChoice<String> orgCountry = new DropDownChoice<String>("orgCountry", countries,
    //                new ChoiceRenderer<String>("orgCountry") {
    //
    //                    private static final long serialVersionUID = 1L;
    //
    //                    @Override
    //                    public Object getDisplayValue(String object) {
    //                        return object;
    //                    }
    //
    //                });
    //
    //        //orgCountry.setRequired(true);
    //        orgCountry.setLabel(ResourceUtils.getModel("label.country"));
    //        add(orgCountry);
    //
    //        DropDownChoice<EducationLevel> educationLevel = new DropDownChoice<EducationLevel>("educationLevel", educationLevelFacade.getAllRecords(),
    //                new ChoiceRenderer<EducationLevel>("title", "educationLevelId") {
    //
    //                    private static final long serialVersionUID = 1L;
    //
    //                    @Override
    //                    public Object getDisplayValue(EducationLevel object) {
    //                        return object.getEducationLevelId() + " " + super.getDisplayValue(object);
    //                    }
    //
    //                });
    //
    //        educationLevel.setLabel(ResourceUtils.getModel("general.educationlevel"));
    //        add(educationLevel);
    //
    //        List<String> listOfOrgTypes = new ArrayList<String>();
    //        listOfOrgTypes.add("Commercial");
    //        listOfOrgTypes.add("Non-Commercial");
    //
    //        DropDownChoice<String> organizationType = new DropDownChoice<String>("organizationType", listOfOrgTypes,
    //                new ChoiceRenderer<String>("organizationType") {
    //
    //                    private static final long serialVersionUID = 1L;
    //
    //                    @Override
    //                    public Object getDisplayValue(String object) {
    //                        return object;
    //                    }
    //
    //                });
    //
    //        organizationType.setRequired(true);
    //        organizationType.setLabel(ResourceUtils.getModel("label.organizationType"));
    //        add(organizationType);

    SubmitLink submit = new SubmitLink("submit", ResourceUtils.getModel("action.create.account")) {

        private static final long serialVersionUID = 1L;

        //            @Override
        //            protected void onError(AjaxRequestTarget target, Form<?> form) {
        //                target.add(feedback);
        //            }

        @Override
        public void onSubmit() {

            PersonFormObject user = RegistrationForm.this.getModelObject();
            user.setPanelPerson(panelPerson.getModelObject());
            // validate captcha via service
            if (captchaService.validateResponseForID(user.getCaptcha(), user.getControlText())) {

                user.getPanelPerson().setRegistrationDate(new DateTime());
                if (validation(user)) {
                    personFacade.create(new PersonMapper().convertToEntity(user, new Person()));
                    setResponsePage(ConfirmPage.class,
                            PageParametersUtils.getPageParameters(ConfirmPage.EMAIL, user.getEmail()));
                }
                // if captcha is valid but other validation fail - generate new captcha
                generateCaptchaImageAndPrepareValidation();
            } else {
                error(ResourceUtils.getString("general.error.registration.captchaInvalid"));
                generateCaptchaImageAndPrepareValidation();
            }
            //target.add(captchaImage);
            //target.add(feedback);
        }
    };
    add(submit);
}

From source file:de.voolk.marbles.web.pages.content.RenamePage.java

License:Open Source License

@SuppressWarnings("serial")
public RenamePage(PageParameters parameters) {
    super(parameters);
    final TextField<String> pageName = new TextField<String>("pageName",
            new PropertyModel<String>(getMarblesPage(), "name"));
    pageName.add(new IValidator<String>() {
        @Override/*from   w  w w .ja va 2 s.com*/
        public void validate(IValidatable<String> validatable) {
            String name = validatable.getValue();
            if (!uniqueInLevel(name)) {
                validatable.error(new IValidationError() {
                    @Override
                    public String getErrorMessage(IErrorMessageSource arg0) {
                        return new StringResourceModel("pagename.not.unique", RenamePage.this,
                                new Model<ValueMap>()).getObject();
                    }
                });
            }
        }

    });
    pageName.setRequired(true);
    pageName.add(StringValidator.minimumLength(1));
    @SuppressWarnings({ "rawtypes" })
    Form form = new Form("renameForm") {
        @Override
        protected void onSubmit() {
            String name = pageName.getModelObject();
            int id = savePageName(name);
            PageParameters parameters = new PageParameters();
            parameters.put("id", id);
            setResponsePage(DisplayPage.class, parameters);
        }
    };
    form.add(pageName);
    form.add(new Button("save", new ResourceModel("save")));
    add(form);
    add(new FeedbackPanel("feedback"));
}

From source file:de.widone.web.panel.newtask.NewTaskPanel.java

License:Apache License

public NewTaskPanel(String id, final IModel<TaskList> selectedTaskList) {
    super(id, selectedTaskList);
    add(new FeedbackPanel(FEEDBACK).setOutputMarkupId(true));

    add(new Form<Task>(NEW_TASK_FORM, new CompoundPropertyModel<Task>(new Task()))
            .add(new TextField(DESCRIPTION).add(StringValidator.minimumLength(3)).setRequired(true))
            .add(new AjaxFallbackButton("submit", (Form) get(NEW_TASK_FORM)) {
                @Override/*from   ww  w .  ja va2s . c  o  m*/
                protected void onError(AjaxRequestTarget target, Form<?> form) {
                    target.add(NewTaskPanel.this.get(FEEDBACK));
                }

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    send(getPage(), Broadcast.EXACT, new NewTaskEvent(target, (Task) form.getModelObject()));
                }
            }));
}

From source file:de.widone.web.panel.newtasklist.NewTaskListPanel.java

License:Apache License

public NewTaskListPanel(String id, IModel<TaskList> choice, IModel<List<TaskList>> choices) {
    super(id);//  ww w .  ja  v a  2 s  .  c o m
    add(new FeedbackPanel(FEEDBACK).setOutputMarkupId(true));
    add(new TaskListDropDown(TASK_LIST, choice, choices));

    add(new Form<TaskList>(NEW_TASK_LIST_FORM, new CompoundPropertyModel<TaskList>(new TaskList()))
            .add(new TextField(DESCRIPTION).add(StringValidator.minimumLength(3)).setRequired(true))
            .add(new AjaxFallbackButton("submit", (Form) get(NEW_TASK_LIST_FORM)) {
                @Override
                protected void onError(AjaxRequestTarget target, Form<?> form) {
                    target.add(NewTaskListPanel.this.get(FEEDBACK));
                }

                @Override
                protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
                    send(getPage(), Broadcast.EXACT,
                            new NewTaskListEvent(target, (TaskList) form.getModelObject()));
                }
            }));

}