输入无效输入字段的某些标签会变为红色

时间:2014-05-21 09:39:07

标签: validation jsf primefaces

我有一堆JSF表单中的输入字段以及相关的标签和验证器。

在某些字段上,验证失败会将标签变为红色,而不是。

知道原因可能是什么,或者如何调试?

我通过单击标签并观察焦点是否转到相应的输入字段来验证是否正确设置了标签/输入关系。

我们使用JSF-2.0和Primefaces 5

这个变成红色:

        <p:column style="width:10em;">
            <f:facet name="header">
              <span
                title="#{messages['tooltip.model.modelSearch.modelKeyPattern']}">
                <p:outputPanel>
                  <p:outputLabel
                    id="modelKeyPatternLabel"
                    for="modelKeyPattern"
                    styleClass="control-label"
                    value="#{messages['label.model.modelSearch.modelKey']}" />
                  <p:inputText
                    id="modelKeyPattern"
                    value="#{modelSearchBean.modelKeyPattern}"
                    validatorMessage="#{messages['error.model.modelSearch.modelKey']}"
                    size="6"
                    styleClass="searchField">
                    <f:validateLength maximum="6" />
                  </p:inputText>
                </p:outputPanel>
              </span>
            </f:facet>

这个没有:

          <p:column style="width:6em;">
            <f:facet name="header">
              <span
                title="#{messages['tooltip.model.modelSearch.modelYear']}">
                <p:outputPanel>
                  <h:outputLabel
                    id="modelYearLabel"
                    for="modelYear"
                    styleClass="control-label"
                    value="#{messages['label.model.modelSearch.table.column.modelYear']}" />
                  <p:inputText
                    id="modelYear"
                    value="#{modelSearchBean.modelYear}"
                    validator="#{modelYeaValidator.validate}"
                    styleClass="searchField"
                    size="4">
                  </p:inputText>
                </p:outputPanel>
              </span>
            </f:facet>
            <h:outputText value="#{model.modelYear}" />
          </p:column>

1 个答案:

答案 0 :(得分:0)

找到它。红色标签是h:outputLabel,而另一个是p:outputLabel。请注意p:h:

之间的差异