diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/UserCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/UserCRUDController.java
index a3ee61dad..f01b33b79 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/UserCRUDController.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/UserCRUDController.java
@@ -36,6 +36,7 @@ import org.navalplanner.web.common.OnlyOneVisible;
import org.navalplanner.web.common.Util;
import org.navalplanner.web.common.components.Autocomplete;
import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.WrongValueException;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
@@ -210,6 +211,22 @@ public class UserCRUDController extends GenericForwardComposer implements
*/
public void setPassword(String password) {
userModel.setPassword(password);
+ //update the constraint on the confirmation password box
+ ((Textbox)createWindow.getFellowIfAny("passwordConfirmation")).
+ clearErrorMessage(true);
+ }
+
+ public Constraint validatePasswordConfirmation() {
+ return new Constraint() {
+ @Override
+ public void validate(Component comp, Object value)
+ throws WrongValueException {
+ ((Textbox)comp).setRawValue(value);
+ if(!((String)value).equals(passwordBox.getValue())) {
+ throw new WrongValueException(comp, _("passwords don't match"));
+ }
+ }
+ };
}
private OnlyOneVisible getVisibility() {
diff --git a/navalplanner-webapp/src/main/webapp/users/_editUser.zul b/navalplanner-webapp/src/main/webapp/users/_editUser.zul
index fe168be7e..59c3dc00e 100644
--- a/navalplanner-webapp/src/main/webapp/users/_editUser.zul
+++ b/navalplanner-webapp/src/main/webapp/users/_editUser.zul
@@ -48,6 +48,12 @@
+
+
+
+