AMcoder - javascript, python, java, html, php, sql

PrimeFaces wizard հաջորդ կոճակը

Ես ունեմ <p:wizard> երկու ներդիրով: Առաջին ներդիրում կա <p:dataTable>, և օգտագործողը պետք է ընտրի տող՝ շարունակելու համար: Եթե ​​նրանք չեն ընտրում այդ տողը, ես ուզում եմ դադարեցնել օգտվողին հաջորդ ներդիր անցնելու և հաղորդագրություն ցուցադրելու համար: Ես կարող եմ ցուցադրել հաղորդագրությունը այս կոդով, բայց երբ նրանք սեղմում են հաջորդը, հաջորդ կոճակը անհետանում է.

public String onFlowProcess(FlowEvent event) {
    //si no eligen un afiliado, desplegar un error: "Debe elegir un afiliado para seguir"

    if (afiliado.getSelectedAfi() == null) {
        FacesContext.getCurrentInstance().addMessage(null,
                new FacesMessage("Debe de elegir un afiliado para continuar."));

        return "afiliadoTab";
    } else {
        return event.getNewStep();
    }
}

Անհրաժեշտության դեպքում ես կարող եմ տեղադրել XHTML կոդը: Վերոնշյալ կոդում afiliadoTab-ը ընթացիկ ներդիրի անունն է, որտեղ գտնվում է տվյալների աղյուսակը: Ես ասում եմ, որ եթե afiliado օբյեկտը null է (եթե օգտվողը տող չի ընտրել), ցուցադրել հաղորդագրությունը և մնալ այնտեղ: «Այնտեղ մնալը» լավ չի աշխատում։ Արդյո՞ք ես սխալ եմ անում այս կոդի մեջ:

Սա հարցի հետ կապված XHTML ծածկագիրն է (հրաշագործ մասը).

<p:wizard flowListener="#{afiliadoController.onFlowProcess}">
    <!-- first tab -->
    <p:tab id="afiliadoTab" title="Afiliado">
        <p:panel header="Agrega un afiliado" id="panelAfiliado">
            <!-- <p:messages autoUpdate="true" for="validationAfiForm"/> -->
            <p:panelGrid columns="4"  layout="grid">
                <p:outputLabel for="nombres" value="Nombres:" />
                <p:inputText id="nombres" value="#{afiliadoController.afiliado.nombre}"
                             requiredMessage="Debe insertar un nombre."/>

                <p:outputLabel for="apellidos" value="Apellidos:" />

                <p:inputText id="apellidos" value="#{afiliadoController.afiliado.apellido}"
                             requiredMessage="Debe insertar un apellido."/>

                <p:outputLabel for="estadoCivil" value="Estado Civil:" />

                <p:selectOneMenu id="estadoCivil" effect="drop" value="#{afiliadoController.afiliado.estado_civil}"
                                 requiredMessage="Debe seleccionar un estado civil.">

                    <f:selectItem itemLabel="Estado Civil" itemValue=""/>
                    <f:selectItem itemLabel="Soltero" itemValue="S"/>
                    <f:selectItem itemLabel="Casado" itemValue="C"/>
                    <f:selectItem itemLabel="Union Libre" itemValue="U"/>
                    <f:selectItem itemLabel="Divorciado" itemValue="D"/>
                    <f:selectItem itemLabel="Viudo" itemValue="V"/>
                </p:selectOneMenu>

                <p:outputLabel for="direccion" value="Direccion:" />
                <p:inputText id="direccion" value="#{afiliadoController.afiliado.direccion}"/>
                <p:outputLabel for="telefono" value="Telefono:" />

                <p:inputMask id="telefono" value="#{afiliadoController.afiliado.telefono}" mask="(999) 999-9999"
                             requiredMessage="Debe insertar un telefono."/>

                <p:outputLabel for="fechaNacimiento" value="Fecha de Nacimiento:"/>

                <p:calendar id="fechaNacimiento" yearRange="c-100:c" pattern="yyyy/MM/dd" navigator="true"
                            value="#{afiliadoController.afiliado.fecha_nacimiento}"
                            requiredMessage="Debe insertar su fecha de nacimiento."/>

                <p:commandButton value="Insertar" icon="fa fa-save" process="panelAfiliado" update="afiliadoTable"
                                 actionListener="#{afiliadoController.insertAfiliado}" />
            </p:panelGrid>
        </p:panel>

        <p:panel header="Selecciona un Afiliado" id="panelTable">
            <!-- tabla con afiliados para seleccionar -->
            <p:dataTable id="afiliadoTable" var="afi" value="#{afiliadoController.afiliado.afiliados}" editable="true"
                         selection="#{afiliadoController.afiliado.selectedAfi}"
                         rowKey="#{afi.afiliado_id}" editMode="cell" >

                <p:column selectionMode="single" style="width:16px;"/>

                <p:column headerText="Afiliado ID">
                    <h:outputText value="#{afi.afiliado_id}"/>
                </p:column>

                <p:column headerText="Nombres">
                    <p:cellEditor>
                        <f:facet name="output"><h:outputText value="#{afi.nombre}" /></f:facet>
                        <f:facet name="input"><p:inputText value="#{afi.nombre}" style="width:96%"/></f:facet>
                    </p:cellEditor>
                </p:column>

                <p:column headerText="Apellidos">
                    <p:cellEditor>
                        <f:facet name="output"><h:outputText value="#{afi.apellido}" /></f:facet>
                        <f:facet name="input"><p:inputText value="#{afi.apellido}" style="width:96%"/></f:facet>
                    </p:cellEditor>
                </p:column>

                <p:column headerText="Eliminar">
                    <p:commandButton icon="fa fa-remove" value="Eliminar" process="afiliadoTable" update="afiliadoTable"
                                     actionListener="#{afiliadoController.deleteAfiliado(afi.afiliado_id)}" />
                </p:column>

                <f:facet name="footer">
                    <p:commandButton process="afiliadoTable" update=":wizard:afiliadoDetail" icon="ui-icon-search"
                                     value="Ver Afiliado" oncomplete="PF('afiliadoDialog').show()" />
                </f:facet>
            </p:dataTable>
        </p:panel>
    </p:tab>

    <!-- second tab -->
    <p:tab id="beneficiarioTab" title="Beneficiario">
        <p:panel header="Agrega Beneficiario">
            <!-- form para insertar beneficiario -->
        </p:panel>
        <p:panel header="Lista de Beneficiarios"></p:panel>
    </p:tab>
</p:wizard>
24.04.2015

  • Խնդրում ենք տրամադրել XHTML կոդը: 24.04.2015
  • Ո՞րն է հարակից լոբի շրջանակը: Այն պետք է լինի առնվազն դիտման շրջանակով լոբի, և ավելի լավ է այս վավերացման առաջադրանքը փոխանցել JSF վավերացնողին՝ հատուկ վավերացնողին: 24.04.2015
  • Լոբին ունի ViewScoped: Ինչ տեսակի մաքսային վավերացուցիչ: 24.04.2015
  • Ինչ ես չեմ հասկանում, այն է, որ կախարդի primeface ցուցափեղկի վրա (primefaces. org/showcase/ui/panel/wizard.xhtml), onFlowProcess-ի ներսում նրանք վերադարձնում են հաստատում, որպեսզի օգտագործողին չգնա հաջորդ ներդիր և հաստատեն, որ նրա Հաստատման ներդիրի անունն է: 24.04.2015
  • Դուք օգտագործե՞լ եք <h:form>-ը, որն անհրաժեշտ է հրամանի բաղադրիչների համար: 24.04.2015

Պատասխանները:


1

Ես վերջապես գտա, թե ինչն էր սխալ: Չգիտես ինչու, ես չեմ կարող օգտագործել <p:panelGrid> </p:panelGrid>-ը: Ես պետք է օգտագործեմ <h:panelGrid></h:panelGrid>-ը:

<p:panelGrid> </p:panelGrid>-ի օգտագործումը հանգեցնում է նրան, որ իմ NEXT կոճակը անհետանում է, երբ ես սեղմում եմ Հաջորդը:

Հուսով եմ, որ սա օգնում է ինչ-որ մեկին:

07.05.2015
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..