3 Replies Latest reply on May 17, 2010 6:56 AM by lavanyak

    Change Password Validation

    ambrish_kumar

      Hi Everyone,


      I want to validate the New Password field with Confirm password field.


      Here is my code,




      
      <s:decorate id="newPass" template="layout/edit.xhtml">
                      <ui:define name="label">New Password :</ui:define>
                      <h:inputSecret  id="newPassId" 
                                 size="30"
                            maxlength="100"
                            required="true"
                            requiredMessage="Value is required."
                                value="#{changePassword.newPass}" 
      validator="#{changePassword.validatePassword}" >
                        
                      </h:inputSecret>
                  </s:decorate>
      
      
      <s:decorate id="confirmPass" template="layout/edit.xhtml">
                      <ui:define name="label">Confirm Password :</ui:define>
                      <h:inputSecret id="confirmPassId" 
                                 size="30"
                            maxlength="100"
                            required="true"
                            requiredMessage="Value is required."
                                value="#{changePassword.confirmPass}" 
      validator="#{changePassword.validatePassword}">
                         
                      </h:inputSecret>
                  </s:decorate>
      <a:commandButton id="changePass" 
                                value="Submit"
                                action="#{changePassword.changePass}" style="cursor:hand;cursor:pointer;">
                     </a:commandButton>





      and the validator code is,




      public void validatePassword(FacesContext context, UIComponent toValidate, Object value) {
                
                String password = (String) value;
                
                if(!(password.equals(confirmPass))){
                     ((UIInput)toValidate).setValid(false);
                     SeamResourceBundle srb = new SeamResourceBundle();  
                     String passwordError = srb.getString("message.verify.user.password");
                     FacesMessage message = new FacesMessage(passwordError);
                     message.setSeverity(javax.faces.application.FacesMessage.SEVERITY_ERROR);               
                     context.addMessage(toValidate.getClientId(context), message);                
                }
           }




      Now the problem is that , when I submitt the form then I am getting null value for confirmPass.


      Should i use a:support on both inputSecret text box?


      Thanks


      Ambrish