@method validation As I used the Extval features for these kind of situations and wrote extensions for it to enhance the crossfield validation (like your example of the password, see also [1] ) I'm very interested to have this in DeltaSpike/help with such a feature (if you need it) in DeltaSpike
regards Rudy [1] = http://jsfcorner.blogspot.be/2011/09/cross-field-validation-with-jsf-and.html On 28 March 2013 10:31, Arne Limburg <arne.limb...@openknowledge.de> wrote: > Imho when we think about JSF validation we don't need to mimic existing > features of JSF 2, but we have to see where features are missing. > > I.e. BVAL 1.1 will contain method-validation, but JSF completely missed to > integrate it. This is where we should fill the gap. > > I am thinking about something like > > <h:form> > <f:validateMethod value="#{myBean.updatePassword(myBean.password, > myBean.repeatedPassword)}" /> > <h:inputSecret value="#{myBean.password}" /> > <h:inputSecret value="#{myBean.repeatedPassword}" /> > </h:form> > > where updatePassword is validated in the PROCESS_VALIDATION phase (with > the local values of both fields) and ideally instead of calling > MyBean.setPassword and MyBean.setRepeatedPassword in the UPDATE_MODEL > phase it should call MyBean.updatePasswordŠ > > Such feature would improve cross-field validation enormously. > > WDYT? > > Regards, > Arne > > P.S.: I just prototyped the feature and it basically worked also I am not > sure about the design (in my prototype f:validateMethod is a JSF > Component...) > > Am 25.03.13 22:20 schrieb "Mark Struberg" unter <strub...@yahoo.de>: > > >with JSF-2 this is now almost obsolete, isn't? > >JSF-2 has <f:validateBean> which works perfectly fine. > > > >LieGrue, > >strub > > > > > > > > > >----- Original Message ----- > >> From: Thomas Andraschko <andraschko.tho...@gmail.com> > >> To: deltaspike-dev@incubator.apache.org > >> Cc: > >> Sent: Monday, March 25, 2013 5:31 PM > >> Subject: Re: DeltaSpike Roadmap > >> > >> Are you sure? PrimeFaces does not have one. I only know richfaces' > >> graphValidator and it's IMO not that easy and cool as s:validateForm. > >> > >> 2013/3/25 John D. Ament <john.d.am...@gmail.com> > >> > >>> I believe all of the major JSF component libraries support some type > >>>of > >>> form validation using BV. > >>> > >>> > >>> On Mon, Mar 25, 2013 at 12:19 PM, Thomas Andraschko < > >>> andraschko.tho...@gmail.com> wrote: > >>> > >>> > Any news about s:validateForm? > >>> > As i said, it's great feature of seam3 and would perfectly fit DS > >> (IMO). > >>> > > >>> > I could also add it to DS if no one have enough time... :) > >>> > > >>> > 2012/12/17 Gerhard Petracek <gerhard.petra...@gmail.com> > >>> > > >>> > > there is a reason why it is just an add-on ;) > >>> > > and yes, if you would do it with the jsf2-api, it would be a bit > >>> easier. > >>> > > but you can use this add-on also for jsf 1.x and some users who > >> don't > >>> > like > >>> > > to use seam are happy with it. > >>> > > however, i just mentioned it as an example to show that cdi > >> isn't > >>> needed > >>> > to > >>> > > implement such a functionality. > >>> > > > >>> > > regards, > >>> > > gerhard > >>> > > > >>> > > > >>> > > > >>> > > 2012/12/17 Lincoln Baxter, III <lincolnbax...@gmail.com> > >>> > > > >>> > > > Also, note that the use-cases for <s:validateForm> and > >> the latter > >>> > example > >>> > > > are different in their usage. IMO, <s:validateForm> is > >> much more > >>> > > > declarative and simple than the example provided from > >> extval. > >>> > > > > >>> > > > Just write a validator and attach it like you would normal > >> to a > >>> > component > >>> > > > in the view, wherever you want to use it. You can also > >> re-use > >>> > > > form-validators using this method, instead of using some (in > >> my > >>> > opinion) > >>> > > > strange view-filtering logic in the FormValidator > >> annotation. > >>> > > > > >>> > > > <s:validateForm> is/was one of the most well recieved > >> feature of Seam > >>> > > > Faces, and I think it deserves serious consideration. Can > >> you do form > >>> > > > validation other ways? absolutely, but this way is pretty > >> compelling > >>> > > based > >>> > > > on the feedback we got. It also ties in very normally with > >> the way in > >>> > > which > >>> > > > JSF handles validation and components, which is not > >> something that I > >>> > can > >>> > > > speak about with regard to extval, but I can say that seam > >> faces does > >>> > > this > >>> > > > nicely. > >>> > > > > >>> > > > ~Lincoln > >>> > > > > >>> > > > > >>> > > > On Mon, Dec 17, 2012 at 4:37 PM, Thomas Andraschko < > >>> > > > andraschko.tho...@gmail.com> wrote: > >>> > > > > >>> > > > > Please do not mix both :) > >>> > > > > We had the discussion about commons bv constrains. > >> s:validateForm > >>> is > >>> > > > > completely different compared to bv constraints. > >>> > > > > s:validateForm does not fit the project for common bv > >> constraints. > >>> > > > > > >>> > > > > 2012/12/17 Karl Kildén <karl.kil...@gmail.com> > >>> > > > > > >>> > > > > > Looks really nice I understand finally :-) > >>> > > > > > > >>> > > > > > In retrospect I don't know why I didn't > >> check the docs myself, > >>> > > probably > >>> > > > > > because I read most of the discussion on the phone > >> to begin with. > >>> > > > > > > >>> > > > > > I then agree with the many suggestions regarding > >> doing it as a > >>> > > parallel > >>> > > > > > project. Perhaps that module could have a sub > >> module for CDI > >>> users > >>> > > > that > >>> > > > > > included producers and such. > >>> > > > > > > >>> > > > > > Best regards / Karl > >>> > > > > > > >>> > > > > > > >>> > > > > > > >>> > > > > > > >>> > > > > > 2012/12/17 Gerhard Petracek > >> <gerhard.petra...@gmail.com> > >>> > > > > > > >>> > > > > > > hi karl, > >>> > > > > > > > >>> > > > > > > it's implemented via a producer - see > >> [1]. > >>> > > > > > > but you don't really need cdi for it - > >> see e.g. [2]. > >>> > > > > > > > >>> > > > > > > regards, > >>> > > > > > > gerhard > >>> > > > > > > > >>> > > > > > > [1] http://s.apache.org/ury > >>> > > > > > > [2] > >>> > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >>http://os890.blogspot.co.at/2010/06/multi-field-form-validation-with-jsr > . > >>html > >>> > > > > > > > >>> > > > > > > > >>> > > > > > > > >>> > > > > > > 2012/12/17 Thomas Andraschko > >> <andraschko.tho...@gmail.com> > >>> > > > > > > > >>> > > > > > > > As far as i understand, validateAll just > >> validates all > >>> > components > >>> > > > but > >>> > > > > > you > >>> > > > > > > > can't use custom logic. > >>> > > > > > > > > >>> > > > > > > > Checkout the seam docu here: > >>> > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >> > http://docs.jboss.org/seam/3/faces/latest/reference/en-US/html/components > >>.html > >>> > > > > > > > > >>> > > > > > > > 2012/12/17 Karl Kildén > >> <karl.kil...@gmail.com> > >>> > > > > > > > > >>> > > > > > > > > Hrmm still not sure I understand. > >> First off didn't Pete > >>> just > >>> > > say > >>> > > > it > >>> > > > > > was > >>> > > > > > > > > just a JSF-validator? It also > >> sounds and reads just like > >>> > > > > validateAll > >>> > > > > > > from > >>> > > > > > > > > omnifaces? > >>> > > > > > > > > > >>> > > > > > > > > What is lacking that you would like > >> to see solved by CDI? > >>> And > >>> > > is > >>> > > > > it a > >>> > > > > > > > > natural fit for CDI extensions > >> rather then BV / JSF > >>> > extensions? > >>> > > > > > > > > > >>> > > > > > > > > Best regards / Karl > >>> > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > 2012/12/17 Thomas Andraschko > >> <andraschko.tho...@gmail.com> > >>> > > > > > > > > > >>> > > > > > > > > > Hi, > >>> > > > > > > > > > > >>> > > > > > > > > > they are nice but i can't > >> see a replacement for > >>> > > s:validateForm. > >>> > > > > > > > > > IMO s:validateForm is really a > >> simple solution for > >>> > > cross-field > >>> > > > > > > > > validation, > >>> > > > > > > > > > which is CDI based. > >>> > > > > > > > > > > >>> > > > > > > > > > Regards, > >>> > > > > > > > > > THomas > >>> > > > > > > > > > > >>> > > > > > > > > > 2012/12/17 Karl Kildén > >> <karl.kil...@gmail.com> > >>> > > > > > > > > > > >>> > > > > > > > > > > Well these are the > >> validators from omnifaces as per my > >>> > > > previous > >>> > > > > > > > > > > recommendation: > >>> > > > > > > > > > > > >>> > > > > > > > > > > > >>> > > > > > > > > > > - > >> RequiredCheckboxValidator< > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >> > https://showcase-omnifaces.rhcloud.com/showcase/validators/RequiredCheckb > >>oxValidator.xhtml > >>> > > > > > > > > > > > > >>> > > > > > > > > > > - validateAll< > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >> > https://showcase-omnifaces.rhcloud.com/showcase/validators/validateAll.xh > >>tml > >>> > > > > > > > > > > > > >>> > > > > > > > > > > - > >> validateAllOrNone< > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >> > https://showcase-omnifaces.rhcloud.com/showcase/validators/validateAllOrN > >>one.xhtml > >>> > > > > > > > > > > > > >>> > > > > > > > > > > - validateEqual< > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >>https://showcase-omnifaces.rhcloud.com/showcase/validators/validateEqual > . > >>xhtml > >>> > > > > > > > > > > > > >>> > > > > > > > > > > - validateOne< > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >> > https://showcase-omnifaces.rhcloud.com/showcase/validators/validateOne.xh > >>tml > >>> > > > > > > > > > > > > >>> > > > > > > > > > > - > >> validateOneOrMore< > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >> > https://showcase-omnifaces.rhcloud.com/showcase/validators/validateOneOrM > >>ore.xhtml > >>> > > > > > > > > > > > > >>> > > > > > > > > > > - > >> validateOneOrNone< > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >> > https://showcase-omnifaces.rhcloud.com/showcase/validators/validateOneOrN > >>one.xhtml > >>> > > > > > > > > > > > > >>> > > > > > > > > > > - validateOrder< > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >>https://showcase-omnifaces.rhcloud.com/showcase/validators/validateOrder > . > >>xhtml > >>> > > > > > > > > > > > > >>> > > > > > > > > > > - validateUnique > >>> > > > > > > > > > > > >>> > > > > > > > > > > > >>> > > > > > > > > > > < > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > >>> > > >>> > >> > >> > https://showcase-omnifaces.rhcloud.com/showcase/validators/validateUnique > >>.xhtml > >>> > > > > > > > > > > >Best > >>> > > > > > > > > > > regards / Karl > >>> > > > > > > > > > > > >>> > > > > > > > > > > > >>> > > > > > > > > > > > >>> > > > > > > > > > > 2012/12/17 Thomas > >> Andraschko < > >>> > andraschko.tho...@gmail.com> > >>> > > > > > > > > > > > >>> > > > > > > > > > > > PrimeFaces > >> doesn't have such a component/utility. > >>> > > > > > > > > > > > Also AFAICS it's > >> based on CDI, so IMO DeltaSpike is a > >>> > > good > >>> > > > > > place > >>> > > > > > > > for > >>> > > > > > > > > > it. > >>> > > > > > > > > > > > > >>> > > > > > > > > > > > 2012/12/17 Jason > >> Porter <lightguard...@gmail.com> > >>> > > > > > > > > > > > > >>> > > > > > > > > > > > > On Mon, Dec 17, > >> 2012 at 4:54 AM, Pete Muir < > >>> > > > > pm...@redhat.com > >>> > > > > > > > >>> > > > > > > > > wrote: > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > On 17 Dec > >> 2012, at 08:55, Gerhard Petracek wrote: > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > hi > >> karl, > >>> > > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > #1 > >> apache myfaces (extval) doesn't implement > >>> jsr > >>> > > 303 > >>> > > > > > (e.g. > >>> > > > > > > > > apache > >>> > > > > > > > > > > > > > > bval > >> implements it) > >>> > > > > > > > > > > > > > > #2 > >> there is no agreement that ds is only > >>> backend > >>> > > > > oriented > >>> > > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > > >> regards, > >>> > > > > > > > > > > > > > > > >> gerhard > >>> > > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > > >> 2012/12/17 Karl Kildén <karl.kil...@gmail.com> > >>> > > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >> > >> Hi Thomas, fellow user here. > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > >> > >> BV is as you may know specified in JSR-303. It > >>> > has > >>> > > > > great > >>> > > > > > > > > > > > > > > >> implementations by > >>> > > > > > > > > > > > > > >> > >> myfaces and hibernate that you can find > >>> easily. > >>> > > Thus > >>> > > > > > this > >>> > > > > > > > will > >>> > > > > > > > > > not > >>> > > > > > > > > > > > be > >>> > > > > > > > > > > > > > >> > >> implemented in deltaspike afaik. However > >>> > providing > >>> > > > > some > >>> > > > > > > > common > >>> > > > > > > > > > > > > > > >> constraints > >>> > > > > > > > > > > > > > >> > >> beyond the specification sounds like a good > >>> > idea. > >>> > > > Note > >>> > > > > > > that > >>> > > > > > > > in > >>> > > > > > > > > > the > >>> > > > > > > > > > > > > mean > >>> > > > > > > > > > > > > > >> > >> while @Email is almost trivial to implement > >>> > > yourself > >>> > > > > if > >>> > > > > > > you > >>> > > > > > > > > > search > >>> > > > > > > > > > > > it > >>> > > > > > > > > > > > > a > >>> > > > > > > > > > > > > > >> > >> little. JSR-303 is highly extensible just like > >>> > > CDI. > >>> > > > > The > >>> > > > > > > > > > > > implementation > >>> > > > > > > > > > > > > > you > >>> > > > > > > > > > > > > > >> > >> choose might have it as an extra already. > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > >> > >> For frontend extras I can't say I see an > >>> obvious > >>> > > > home > >>> > > > > in > >>> > > > > > > > > > > deltaspike > >>> > > > > > > > > > > > > > >> > >> (someone correct me if I am wrong about this). > >>> > > But I > >>> > > > > > think > >>> > > > > > > > for > >>> > > > > > > > > > now > >>> > > > > > > > > > > > > > >> > >> Deltaspike is more backend oriented. I > >>> recommend > >>> > > > > having > >>> > > > > > a > >>> > > > > > > > look > >>> > > > > > > > > > at > >>> > > > > > > > > > > > > > omnifaces > >>> > > > > > > > > > > > > > >> > >> that already provide several great custom > >>> > > > > jsf-validators > >>> > > > > > > and > >>> > > > > > > > > has > >>> > > > > > > > > > > an > >>> > > > > > > > > > > > > open > >>> > > > > > > > > > > > > > >> > >> request for users to ask for additional ones. > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > >> > >> best regards / Karl > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > >> > >> 2012/12/16 Thomas Andraschko < > >>> > > > > > andraschko.tho...@gmail.com > >>> > > > > > > > > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > > >>>>> Hi, > >>> > > > > > > > > > > > > > > >>>>> > >>> > > > > > > > > > > > > > > >>>>> is there a roadmap available for all upcoming > >>> > > > > features? > >>> > > > > > > > > > > > > > > >>>>> > >>> > > > > > > > > > > > > > > >>>>> Will there also be a BV module in the future? > >>> > > Will > >>> > > > it > >>> > > > > > > also > >>> > > > > > > > > > > include > >>> > > > > > > > > > > > > some > >>> > > > > > > > > > > > > > > >>>>> commons constraints like Email? > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > Hmm, I > >> think this could be a good thing for a > >>> > > parallel > >>> > > > > > > project > >>> > > > > > > > to > >>> > > > > > > > > > > > > > DeltaSpike > >> actually - a library of BV constraints > >>> > not > >>> > > > > > branded > >>> > > > > > > > by > >>> > > > > > > > > a > >>> > > > > > > > > > > > > specific > >>> > > > > > > > > > > > > > impl. > >> I've cc'd Emmanuel, spec lead for BV, to > >>> see > >>> > if > >>> > > > he > >>> > > > > > has > >>> > > > > > > > any > >>> > > > > > > > > > > plans > >>> > > > > > > > > > > > > for > >>> > > > > > > > > > > > > > such a > >> thing. > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > >>>>> > >>> > > > > > > > > > > > > > > >>>>> What about the Seam s:validateForm? IMO it's > >>> a > >>> > > > simple > >>> > > > > > way > >>> > > > > > > > for > >>> > > > > > > > > > > cross > >>> > > > > > > > > > > > > > field > >>> > > > > > > > > > > > > > > >>>>> validation. Will this be added in future > >>> > > releases? > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > This is > >> not actually a BV validator, but a JSF > >>> > > > > validator. I > >>> > > > > > > > know > >>> > > > > > > > > > Mark > >>> > > > > > > > > > > > is > >>> > > > > > > > > > > > > > working on > >> JSF stuff for DeltaSpike atm, perhaps > >>> > this > >>> > > > is > >>> > > > > > > > > something > >>> > > > > > > > > > > > Jason > >>> > > > > > > > > > > > > > could add > >> to that. > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > Is this > >> something that belongs in DeltaSpike, or > >>> > should > >>> > > > it > >>> > > > > be > >>> > > > > > > in > >>> > > > > > > > a > >>> > > > > > > > > > JSF > >>> > > > > > > > > > > > > component > >> library? I know RichFaces has something > >>> > very > >>> > > > > > > similar, I > >>> > > > > > > > > > > believe > >>> > > > > > > > > > > > > PrimeFaces does > >> as well (haven't looked for a > >>> while) > >>> > > and > >>> > > > I > >>> > > > > > have > >>> > > > > > > > no > >>> > > > > > > > > > idea > >>> > > > > > > > > > > > > about other > >> component libraries. > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > >>>>> > >>> > > > > > > > > > > > > > > >>>>> How can i contribue to DeltaSpike? I could do > >>> > > some > >>> > > > > > > smaller > >>> > > > > > > > > > tasks > >>> > > > > > > > > > > > > > without > >>> > > > > > > > > > > > > > > >>>>> problems. > >>> > > > > > > > > > > > > > > >>>>> I also implemented constraints like > >>> > > > > > > > > > >> EqualsExpression("#{...}"). > >>> > > > > > > > > > > > Maybe > >>> > > > > > > > > > > > > > >> > >> this > >>> > > > > > > > > > > > > > > >>>>> could be useful for other users, too. > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > This page > >> should help - > >>> > > > > > > > > > > > > > > >>> > > > > > > > >> http://deltaspike.staging.apache.org/deltaspike/community.html > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > >>>>> > >>> > > > > > > > > > > > > > > >>>>> Best regards, > >>> > > > > > > > > > > > > > > >>>>> Thomas > >>> > > > > > > > > > > > > > > >>>>> > >>> > > > > > > > > > > > > > >> > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > -- > >>> > > > > > > > > > > > > Jason Porter > >>> > > > > > > > > > > > > > >> http://lightguard-jp.blogspot.com > >>> > > > > > > > > > > > > > >> http://twitter.com/lightguardjp > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > Software > >> Engineer > >>> > > > > > > > > > > > > Open Source > >> Advocate > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > PGP key id: > >> 926CCFF5 > >>> > > > > > > > > > > > > PGP key > >> available at: keyserver.net, pgp.mit.edu > >>> > > > > > > > > > > > > > >>> > > > > > > > > > > > > >>> > > > > > > > > > > > >>> > > > > > > > > > > >>> > > > > > > > > > >>> > > > > > > > > >>> > > > > > > > >>> > > > > > > >>> > > > > > >>> > > > > >>> > > > > >>> > > > > >>> > > > -- > >>> > > > Lincoln Baxter, III > >>> > > > http://ocpsoft.org > >>> > > > "Simpler is better." > >>> > > > > >>> > > > >>> > > >>> > >> > >