Here you go.
This is nested within 3 h:dataTables and a lot of plain HTML. Let me
know if you need more specific details. I hope bringing all these up is
helpful and not aggravating! Thanks.
------------------------------------------
<h:inputText id="hours" size="1" value="#{task.hoursRemain}"
valueChangeListener="#{homeTableBean.changeHours}">
<f:validator validatorId="integerValidator" />
<f:ajax execute="hours" render="hours TPLmessages" />
</h:inputText>
------------------------------------------
com.ocpsoft.socialpm.exceptions.SiteRuntimeException:
javax.servlet.ServletException: /faces/home/homeTable-story.xhtml @54,53
<f:validator> A validator id was not specified. Typically the validator
id is set in the constructor ValidateHandler(ValidatorConfig)
------------------------------------------
package com.ocpsoft.socialpm.pages.validation;
import java.util.ResourceBundle;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
import com.ocpsoft.socialpm.jsf.FacesSpringContextAware;
import com.ocpsoft.util.ResourceBundleUtil;
import com.ocpsoft.util.StringValidations;
public class IntegerValidator extends FacesSpringContextAware implements
Validator
{
private final ResourceBundle messages = ResourceBundleUtil
.loadBundle("com.ocpsoft.socialpm.pages.validation.validationBundle");
@Override
public void validate(final FacesContext context, final UIComponent
component, final Object value)
throws ValidatorException
{
String field = value.toString();
if (!StringValidations.isWholeNumber(field))
{
FacesMessage msg = new
FacesMessage(messages.getString("badWholeNumber"));
throw new ValidatorException(msg);
}
}
}
------------------------------------------
public abstract class FacesSpringContextAware
{
protected WebApplicationContext getSpringContext()
{
FacesContext context = FacesContext.getCurrentInstance();
WebApplicationContext springContext = WebApplicationContextUtils
.getWebApplicationContext((ServletContext)
context.getExternalContext().getContext());
return springContext;
}
protected Object getBean(final String ref)
{
return getSpringContext().getBean(ref);
}
}
------------------------------------------
Caused by:
javax.faces.webapp.pdl.facelets.tag.TagException: /faces/home/homeTable-story.xhtml @54,53 <f:validator> A validator id was not specified. Typically the validator id is set in the constructor ValidateHandler(ValidatorConfig)
at
com.sun.faces.facelets.tag.jsf.ValidatorTagHandlerDelegateImpl.createValidator(ValidatorTagHandlerDelegateImpl.java:165)
at
com.sun.faces.facelets.tag.jsf.ValidatorTagHandlerDelegateImpl.applyAttachedObject(ValidatorTagHandlerDelegateImpl.java:132)
at
com.sun.faces.facelets.tag.jsf.ValidatorTagHandlerDelegateImpl.apply(ValidatorTagHandlerDelegateImpl.java:87)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:170)
at
com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:86)
at
com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:80)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:285)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:331)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:310)
at
com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:181)
at
com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:107)
at
com.sun.faces.facelets.tag.jsf.core.FacetHandler.apply(FacetHandler.java:101)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.applyNextHandler(CompositeComponentTagHandler.java:185)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:170)
at
com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:86)
at
com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:80)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:285)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:331)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:310)
at
com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:181)
at
com.sun.faces.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:107)
at
com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:101)
at
com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:182)
at com.sun.faces.facelets.impl.DefaultFaceletContext
$TemplateManager.apply(DefaultFaceletContext.java:376)
at
com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:347)
at
com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:106)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:114)
at
com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:189)
at
javax.faces.webapp.pdl.facelets.tag.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:108)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:86)
at
javax.faces.webapp.pdl.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:93)
at
com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:80)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:285)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:331)
at
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:310)
at
com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:181)
at
com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:159)
at
com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:86)
at
com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:80)
at
com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:132)
at
com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:391)
at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:102)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:311)
... 105 more
On Fri, 2009-03-20 at 16:17 -0700, Ryan Lubke wrote:
> On 3/20/09 4:03 PM, Lincoln Baxter, III wrote:
>
> > Did this get picked up in the nightly? Still not working for me.
> >
> > On Thu, 2009-03-19 at 16:04 -0700, Ryan Lubke wrote:
> >
> > > Fixed. New bits pushed to java.net.
>
> I saw this issue yesterday adding attached composite component
> Validator tests.
> These tests are passing, so perhaps your usage is different.
>
> Open an issue with your use case so we can investigate further.