Hello,

I'm using Tomcat 6.0.20, Mojarra 1.2_14, RichFaces 3.3.3 and Extval 1.2.3 on 
Mac en Windows with Java 1.6.0_17
The Extval libs are:
extval-annotation-based-bypass-validation-1.2.3.jar
myfaces-extval-core-1.2.3.jar
myfaces-extval-generic-support-1.2.3.jar
myfaces-extval-property-validation-1.2.3.jar

Extval is helping me al lot with bypass-validation because of fields in a form 
that perform looking up values.
E.g. a manufacturer code field is required in the big picture. But the field is 
also performing an AJAX lookup of the manufacturer as you leave the field. At 
that moment it is legal to leave the field blank because you are just tabbing 
through your fields. So marking the lookup method with @BypassValidation(all = 
true) works perfect.

Question 1 :
Is it possible to use also the normal validation mechanism of JSF in 
combination with Extval?

E.g I have 3 fields on a form with 2 fields having Extval @required validation 
and one field has the traditional validation property required="true" in the 
XHTML page.
Sending the form with 3 blank fields gives me 2 faces messages back. Only the 
messages due to Extval validation.
So for me it looks like Extval is disabling the JSF validation defined in the 
XHTML page.

A little bit more strange is the behavior of the one field without Extval 
validation if I'm adding a validation to the field like <f:validateLength 
minimum="2" maximum="10"/>
If I send the form with one character in the field and the 2 other fields are 
left blank I receive 3 faces messages (that's nice).
And then after retrieving the records from the database showing up in a list 
clicking on the list fills normally all three fields in the form, but with the 
f:validateLength the field is left blank.
Removing the f:validateLength from the field gives be back the normal behavior 
showing the data from the database.


Question 2 :
Where to place the Extval libraries?

For developing I'm using 1 Tomcat installation per project. I do add all the 
libraries to the lib directory of Tomcat. Placing also the Extval libraries to 
this directory has a little problem.
If i'm setting my locale to nl_NL and have a Messages_nl_NL.properties in my 
root package Mojarra will find it and Extval not. I do get the missing resource 
exception.
Even using the special parameter in web.xml giving a hint to Extval finding the 
message bundle does not help.
But I thought that has something to to with the classloader. I decided to place 
just the Extval libraries in the WEB-INF/lib directory. After that Extval is 
finding my locale specific message bundle perfectly even without the hint in 
web.xml.
I know it is better to place all third party libs in WEB-INF/lib as of class 
loading but during development redeploying the web app a lot of times gives 
problems with e.g. reloading Mojarra. 


So that's a lot of text for few questions!

I want to use Extval because of the flexible validation options. I hope someone 
can answer my questions so I will better understand how to use Extval?

T.I.A.

Johan Borchers

Reply via email to