Return-Path: Delivered-To: apmail-myfaces-users-archive@www.apache.org Received: (qmail 2335 invoked from network); 19 Apr 2010 13:57:24 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 19 Apr 2010 13:57:24 -0000 Received: (qmail 47188 invoked by uid 500); 19 Apr 2010 13:57:23 -0000 Delivered-To: apmail-myfaces-users-archive@myfaces.apache.org Received: (qmail 47131 invoked by uid 500); 19 Apr 2010 13:57:22 -0000 Mailing-List: contact users-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Discussion" Delivered-To: mailing list users@myfaces.apache.org Received: (qmail 47123 invoked by uid 99); 19 Apr 2010 13:57:22 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Apr 2010 13:57:22 +0000 X-ASF-Spam-Status: No, hits=1.4 required=10.0 tests=AWL,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of rdebusscher@gmail.com designates 209.85.218.222 as permitted sender) Received: from [209.85.218.222] (HELO mail-bw0-f222.google.com) (209.85.218.222) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Apr 2010 13:57:18 +0000 Received: by bwz22 with SMTP id 22so4346384bwz.25 for ; Mon, 19 Apr 2010 06:56:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type; bh=cZYFN3ZMT9yrIwR2BAQNwBMOx8UL+z3bQPPujaShV48=; b=ZckpDqCKJckHM3ZxMe+qAXiuKITH2SkwRHax134IAq1p3NdbRAOQaCWMFBCnLJCMzj dfLpdDJ0At0yGHq12rozzZIPB/3CAGBfBQvyQwM/bKLABamOTnPIU476tSIU4fVtI6If i4kKwtQXvFwvqF7Z/0f+rDepK40X/V2CIaTTI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=TFLVDfR4L5ZjiO/qX9L1NrYoLOeIr75Tp0OHAvH3dScaMeqON4IC1EGEvnYescMa02 zoHT/EzAWe9dBzQWMqNdV76c1OUY0GMdcljYeAj5ZkLygWcRIhXxZz/Q6sQP5BI6457R Em8P9OFop0Bc4nx0TPv8kRyJsTccliZV/pJG4= MIME-Version: 1.0 Received: by 10.204.103.81 with HTTP; Mon, 19 Apr 2010 06:56:54 -0700 (PDT) In-Reply-To: References: <2327.213.160.199.250.1271422340.squirrel@webmail.solcon.nl> Date: Mon, 19 Apr 2010 15:56:54 +0200 Received: by 10.204.14.84 with SMTP id f20mr4776917bka.209.1271685414585; Mon, 19 Apr 2010 06:56:54 -0700 (PDT) Message-ID: Subject: Re: A few extval questions From: Rudy De Busscher To: MyFaces Discussion Content-Type: multipart/alternative; boundary=00032555b3e6670624048497557d --00032555b3e6670624048497557d Content-Type: text/plain; charset=ISO-8859-1 Johan, I tried to recreate the problem that the properties file can't be found. I made a war that contains only the ExtVal libs and the JSF jars (with commons logging and JSTL) were placed in the lib directory of tomcat. I used you config options (about locale config) in the webfaces-config file. Tested only standalone (outside the IDE) but couldn't find any issue. At least for the @length annotation, there was no problem. So at this time I can't help you any further with that. Sorry regards Rudy. On 16 April 2010 16:13, Gerhard Petracek wrote: > hi johan, > > >@Validator > besides @Validator you can implement an annotation + an adapter [1] for > your > existing jsf validators which need special attributes. > > >"required"-attribute > by default extval shouldn't modify the "required"-attribute (if you don't > use a component lib which offers e.g. client-side validation (like > trinidad)). > however, some add-ons for dynamic validation (e.g. bypassing > validation,...) > have to reset the "required"-attribute in combination with component > initialization. imo we should see a release of the mentioned add-on quite > soon. i'll check (before the release) if the add-on follows the default > approach of extval. > > regards, > gerhard > > [1] http://jsfcentral.com/articles/myfaces_extval_3.html > > http://www.irian.at > > Your JSF powerhouse - > JSF Consulting, Development and > Courses in English and German > > Professional Support for Apache MyFaces > > 2010/4/16 Rudy De Busscher > > > Johan > > > > Do I understand that if I use the DEACTIVATE_COMPONENT_ > > > > > > INITIALIZATION with > > > value true I do disable the JSF validation at all in favor of the > ExtVal > > > validation? > > > > > > The other way around. With that parameter set to true, ExtVal doesn't > > touch > > the 'classic' attributes of the components in the tree like required and > > maxLength. So JSF validation runs unaltered, after the ExtVal > validation. > > > > But it is much better and easier to go ExtVal all the way. If you have > > custom JSF validators written, you can reuse them with the @Validator > > annotation. > > > > About the properties file, I'll try to recreate the situation and try to > > find a solution. > > > > Rudy > > > > > > On 16 April 2010 14:52, Johan.borchers wrote: > > > > > Hello Rudy and others. > > > > > > Thanks for the answers . > > > > > > Q1 > > > Disappearing of the field value with JSF validation only appears if I > > > first submit the form with 3 invalid fields and the JSF validation is > > > triggered. After that the field is not updated anymore by selecting a > row > > > from the list. Only after pushing the refresh button of the browser > > > restores the normal behavior. Maybe it's also something of RichFaces > > > because clicking on the list an refreshing the detail panel is done by > > > AJAX. > > > > > > But if you say just go all the way with ExtVal than the problem will > > > disappear. > > > Oke if I do understand, the required attribute of JSF is never working > > > because Extval overrides it. > > > The other JSF validators should do their work but it's better to go all > > > the way with Extval. > > > > > > Do I understand that if I use the DEACTIVATE_COMPONENT_INITIALIZATION > > with > > > value true I do disable the JSF validation at all in favor of the > ExtVal > > > validation? > > > > > > Q2 > > > My Messages_nl_NL.properties file is my dutch replacement of the > standard > > > Messages_xx_XX.properties files delivered by Mojarra. I put this file > in > > > the default package (root) of my webapp classes. > > > > > > In the faces-config.xml file I have the following elements: > > > > > > nl_NL > > > > > > and > > > Messages > > > > > > If I put the ExtVal libraries in the Tomcat lib directory Extval can't > > > find the resource bundle. > > > Even if I try to use the CUSTOM_MESSAGE_BUNDLE context-param to point > to > > > the messages bundle. > > > > > > After putting the ExtVal libraries in WEB-INF/lib my dutch messages are > > > loaded even without setting the CUSTOM_MESSAGE_BUNDLE context-param. > > > > > > At this moment I'm not able to show this app in the internet. > > > But it's a good idea to work on that because looking at the app is > > > sometimes better than 1000 words. > > > > > > Regards Johan > > > > > > >Hi Johan, > > > > > > > >Q1 > > > >Yes, you can combine the JSF validation with ExtVal, like you already > > > >found > > > >out since you got 3 messages, 2 of extval and one of JSF. > > > >Although, the idea is that you do everything with ExtVal. You can use > > > >@Length as a replacement for the f:validateLength tag. > > > > > > > >Except for the required attribute of the components. This required > > > >attribute > > > >is overwritten by the ExtVal code based on the annotations it find on > > the > > > >property. (so when no annotations set, attribute shouldn't be altered) > > > > > > > >You can deactivate that behaviour by specifying the web context > > parameter > > > > > > > > > > > > > > > > > >org.apache.myfaces.extensions.validator.DEACTIVATE_COMPONENT_INITIALIZATION > > > > true > > > > > > > > > > > >You also loose then some functionality related to the validation of > > empty > > > >fields (like specified in the JSF 2.0 spec for example > > > >javax.faces.VALIDATE_EMPTY_FIELDS) > > > > > > > >The parameter can be of help about the problem of the value that > > > >disappears. > > > >I can't see any reason why the f:validateLength tag impacts the > display > > of > > > >the field value. By using the web context parameter, we make sure the > > > >annotation based bypass validation add-on can't interfere with the > > > >encoding > > > >of the page (and thus preventing the display of the field) > > > > > > > >I tried to recreate you problem with that but had no luck. > > > > > > > >Q2 > > > >This could be a classloading problem of Tomcat. > > > >Which of the parameters in web.xml did you try, > > > >JPA_VALIDATION_ERROR_MESSAGES or CUSTOM_MESSAGE_BUNDLE > > > > > > > >But you also say that, when ExtVal Libraries placed in WEB-INF/lib you > > > >don't > > > >need to specify any parameter and all messages are displayed > correctly. > > > >So > > > >which messages have you placed in the properties file that are related > > to > > > >ExtVal. > > > > > > > >Regards > > > >Rudy. > > > > > > > >On 16 April 2010 08:52, Johan Borchers > > wrote: > > > > > > > >> 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 > > > >> > > >> 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 > > > > > > > > > > > > --00032555b3e6670624048497557d--