I do this validation manually and add a message to that control if the value 
already exists.

I am not using Hibernate Validator at all.  In every action that requires 
validation, I do this.  This handles all complex cases that I have come across.

Does anyone know if it is possible to bind a method of a seam component 
directly to the view for validation?

Something like the following

 <h:inputText id="#{myId}" value="#{myValue}" 
converter="#{myValue.validateMyValue}"/>

Currently I am using 

          public static int addMessages(Map<String, String> m)
  |       {
  |         for(String key : m.keySet()) 
  |         { 
  |           if(key.startsWith("globalMessage")) 
  |           {
  |             FacesMessages.instance().add(m.get(key));
  |           } 
  |           else
  |           {
  |             FacesMessages.instance().addToControl(key, m.get(key));
  |           }      
  |         }
  |         return m.size();
  |       }

And use this as follows

  private boolean isValid()
  |   {
  |     HashMap<String, String> errorMessages = new HashMap<String, String>();
  |     
  |       
  |     ValidatonUtil.checkNull("condition", 
  |                             poPipe.getCondition(),
  |                             "Condition required!",
  |                             errorMessages);
  |     
  |     ValidatonUtil.checkUniquePONuml("poNum", 
  |                                                      poPipe.getPoNum(),
  |                                                     "You PO # must be 
unique!",                            
  |                                                     errorMessages);
  |     
  |     ValidatonUtil.checkPositiveDouble("amountOrdered",
  |                                       poPipe.getAmountOrdered(), 
  |                                       "Postive amount required!",
  |                                       errorMessages); 
  | 
  |     ValidatonUtil.checkDateRealistic("date",
  |                                       poPipe.getDate(), 
  |                                       "Date required!",
  |                                       errorMessages);  
  |     
  |     ValidatonUtil.checkDateRealistic("dateAvailable",
  |                                      poPipe.getDatePromised(), 
  |                                      "Date Available required!",
  |                                      errorMessages);  
  | 
  |     return (ValidatonUtil.addMessages(errorMessages)==0) ? true : false;
  |   }

I call a method like this every time I need to validate.  These messages are 
added after jsf validations.  If for example "0www8" is entered into a numeric 
field JSF messages appear and mine do not.  I would like for all of these 
validations to occur at the same time.  I would also like to not have to know 
the id of the component I want to attach the messages.  If I could specify the 
method to use to validate and put it on the input field, I would like this to 
be tied together automatically.

Is this possible and could someone point me to an example?

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

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

Reply via email to