Primefaces 为datatable/datagrid中的多个必需文件添加p:outputLabel

Primefaces 为datatable/datagrid中的多个必需文件添加p:outputLabel,primefaces,jsf-2.2,Primefaces,Jsf 2.2,我有一个简单的PrimefacesDataTable,在这个DataTable中我有一个p:outputLabel,我需要for属性来指向多个输入字段,我怎么做 示例代码: <p:dataTable var="car" value="#{mbBasicView.cars}"> <p:column headerText="Id"> <p:outputText value="#{car.name}" /> </p:column

我有一个简单的
Primefaces
DataTable
,在这个
DataTable
中我有一个p:outputLabel,我需要for属性来指向多个输入字段,我怎么做

示例代码:

<p:dataTable var="car" value="#{mbBasicView.cars}">
    <p:column headerText="Id">
        <p:outputText value="#{car.name}" />
    </p:column>

    <p:column headerText="Year">
        <p:inputText id="carYear" value="#{car.year}" />
    </p:column>

    <p:column headerText="Brand">
        <h:inputText id="carPrice" value="#{car.price}" />
    </p:column>
</p:dataTable>


我想将车名指向年份和价格,如果用户未输入年份或/和价格,则必须显示所需的验证消息,并在车名上加亮显示(并添加开始)。

我找到了解决此问题的方法,使用CSS和添加额外标签,这可能对panelGrid也有帮助(我认为
中的任何内容都有帮助),但我仅使用
DataTable
对其进行了测试:

<p:dataTable var="car" value="#{mbBasicView.cars}">
    <p:column headerText="Id">
        <p:outputText styleClass="car-name" for="carYear" value="#{car.name}" />
        <p:outputText styleClass="car-name" for="carPrice" value="#{car.name}" />
    </p:column>

    <p:column headerText="Year">
        <p:inputText id="carYear" value="#{car.year}" />
    </p:column>

    <p:column headerText="Brand">
        <h:inputText id="carPrice" value="#{car.price}" />
    </p:column>
</p:dataTable>
希望这将是有帮助的,如果你有2个以上的领域,它将工作,除非你有2个正常的标签,然后错误标签,我认为你可以玩这个案件与另一个样式类,玩CSS魔术将做可怕的工作

.car-name {
   display:none;
}

.car-name.ui-state-error {
   display:block;
}
.car-name ~ .car-name {
   display:block;
}
.car-name ~ .car-name.ui-state-error {
   display:block;
}

.car-name.ui-state-error ~ .car-name{
   display:none;
}