Hi,

I do have an entity bean named user, which I do access directly from a xhtml 
page. On some properties of the bean are validator tags and all input fields in 
the xhtml page are surrounded by a <s:validateAll> tag.
When the page is rendered and the input fields are left untouched,  the action 
method is called after a submit without getting any validation errors. 
If some data is entered in the input fileds, but validation still fails (e.g. 
username too short) validation errors are displayed and the action method won't 
be called.
The latter behaviour is the expected one, but why won't the validation fail, if 
the input fields are left blank? Each property of the entity bean is tagged 
with a @NotNull and @Length(min= 2).

To examplify the code of the entity bean:

  | @Name("user")
  | @Entity
  | @Scope(ScopeType.SESSION)
  | public class User1A6 implements Serializable {
  | 
  |     private static final long serialVersionUID = 871185599785223310L;
  | 
  |     private String username;
  | 
  |     private String password;
  | 
  |     private Log log = LogFactory.getLog(User1A6.class);
  | 
  |     public User1A6() {
  |             log.debug("===== User1A6 constructor");
  |     }
  | 
  |     @NotNull
  |     @Length(min = 3, max = 15)
  |     public String getPassword() {
  |             log.info("===== User1A6.getPassword called");
  |             return password;
  |     }
  | 
  |     public void setPassword(String password) {
  |             log.info("===== User1A6.setPassword called: " + password);
  |             this.password = password;
  |     }
  | 
  |     @Id
  |     @NotNull
  |     @Length(min = 2, max = 100)
  |     @Pattern(regex = "^\\w*$", message = "not a valid username")
  |     public String getUsername() {
  |             log.info("===== User1A6.getUsername called");
  |             return username;
  |     }
  | 
  |     public void setUsername(String username) {
  |             log.info("===== User1A6.setUsername called: " + username);
  |             this.username = username;
  |     }
  | }
  | 

and the interesting part of the xhtml page:


  |             <h:form>
  |                     <fieldset>
  |                                     <s:validateAll>
  |                                     <h:outputText 
value="#{messages['home.LoginUsername.Label']}"/>
  |                                     <h:inputText id="username" 
value="#{user.username}"/>
  |                                     <h:message for="username" />
  |                             <br/>
  |                                     <h:outputText 
value="#{messages['home.LoginPassword.Label']}"/>
  |                                     <h:inputSecret id="password" 
value="#{user.password}"/>
  |                                     <h:message for="password" />
  |                             <br/>
  |                                     </s:validateAll>
  |             </fieldset>
  |                             <div align="center">
  |                                     <h:commandButton 
styleClass="formButton" action="#{portal.login}" value="Enter portal"/>     
  |                      
  |                     <s:link action="#{user.frontendLog}" value="Frontend 
Log" linkStyle="button"/>
  |                     </div>
  |     </h:form>
  |        <h:messages showDetails="true" showSummary="true" />
  | 

Do I miss something here? Thanks for the answers in advance,

Kurt

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3965507#3965507

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3965507
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to