hi björn, are you sure that there is no other issue? i've tried to reproduce #1 and it looks like everything is working correctly. please put a breakpoint at the beginning of AbstractValidationInterceptor#beforeGetConvertedValue and post the value(s) returned by FacesContext.getCurrentInstance().getPartialViewContext().getExecuteIds(); furthermore, you should see just one invocation of CrossValidationUserInputRecorder#recordUserInput in the described constellation.
regards, gerhard http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/8/2 Gerhard <[email protected]> > short addition: > > @#1: > > for sure you can provide a custom implementation. > you can impl. a custom storage for processed information >or< cross > validation entries. > that's possible via a custom storage manager. if you are using the default > storage manager, you can also use a custom name-mapper (with a higher > priority). > your custom name-mapper has to point to your custom storage. > > e.g. via: > StorageManager storageManager = > ExtValContext.getContext().getFactoryFinder() > .getFactory(FactoryNames.STORAGE_MANAGER_FACTORY, > StorageManagerHolder.class) > .getStorageManager(ProcessedInformationStorage.class); > > if(storageManager instanceof AbstractNameMapperAwareFactory) > { > ((AbstractNameMapperAwareFactory<String>)storageManager) > .register(new CustomProcessedInformationStorageNameMapper()); > } > > the CustomProcessedInformationStorageNameMapper has to be annotated > with @InvocationOrder //+ a value < 200 > now your custom storage implementation can use > PartialViewContext#getExecuteIds to filter the components which get added to > the storage. > > regards, > gerhard > > http://www.irian.at > > Your JSF powerhouse - > JSF Consulting, Development and > Courses in English and German > > Professional Support for Apache MyFaces > > > 2010/8/2 Gerhard <[email protected]> > > hi björn, >> >> #1: it isn't supported right now. >> #2 you could override EqualsStrategy#useTargetComponentToDisplayErrorMsg >> and return false -> register your custom validation strategy >> anyway, we can enhance the annotation. >> >> please file two jira tickets for these improvements. >> >> regards, >> gerhard >> >> http://www.irian.at >> >> Your JSF powerhouse - >> JSF Consulting, Development and >> Courses in English and German >> >> Professional Support for Apache MyFaces >> >> >> 2010/8/2 Björn Voß <[email protected]> >> >> Hi, >>> >>> I use the stack JSF 2 (RI 2.0.2) + ExtVal (2.0.4-SNAPSHOT) . With @Equals >>> I >>> do a simple email check. >>> >>> What I wanted to do is ajax validation and the equality is only checked >>> if >>> the user leaves the secound input field? >>> >>> Here are bean and facelet snipp: >>> >>> ################# bean snip >>> public class EmailBean { >>> >>> @Email //hibernate constrain >>> @UniqueEmail //custom jr 303 annotation >>> @NotEmpty //hibernate constrain >>> private String email; >>> >>> @Equals >>> private String emailRepeat; >>> >>> ################# facelet snipp >>> >>> <h:panelGroup id="emailBlock" layout="block"> >>> <h:message id="emailInputMsg" for="emailInput"/> >>> <h:outputLabel value="Email" /> >>> <h:inputText id="emailInput" value="#{emailBean.email}" > >>> <f:ajax event="blur" execute="@this" >>> render="emailInputMsg"></f:ajax> >>> </h:inputText> >>> </h:panelGroup> >>> <h:panelGroup id="emailRepeatBlock" layout="block"> >>> <h:message id="emailRepeatMsg" for="emailRepeatInput"/> >>> <h:outputLabel value="Wiederholung-Email" /> >>> <h:inputText id="emailRepeatInput" >>> value="#{emailBean.emailRepeat}" > >>> <f:ajax event="blur" execute="@this" >>> render="emailRepeatMsg"></f:ajax> >>> </h:inputText> >>> </h:panelGroup> >>> >>> Now 2 things: >>> 1. I want the equal validation only to happen on blur of the >>> emailRepeatInput >>> 2. (nice to have) the equal error message only for repeat input >>> >>> Is there a way to do this? >>> I have searched the ExtVal blog and the examples but I didn't find a >>> scenario like this. >>> >>> regards >>> Björn >>> >> >> >

