1

The following works but when create button is hit is clicked it commits a record with all null filds

<f:view>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>New Movie</title>
        <link rel="stylesheet" type="text/css" href="/diamondfilms.com.ar/faces/jsfcrud.css" />
    </head>
    <body>
    <h:panelGroup id="messagePanel" layout="block">
        <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
    </h:panelGroup>
    <h1>New Movie</h1>
            <h:form>
        <h:inputHidden id="validateCreateField" validator="#{movie.validateCreate}" value="value"/>
        <h:panelGrid columns="2">
            <h:outputText value="Name:"/>
            <h:inputText id="name" value="#{movie.movie.name}" title="Name" />
            <h:outputText value="Sinopsis:"/>
            <h:inputText id="sinopsis" value="#{movie.movie.sinopsis}" title="Sinopsis" />
            <h:outputText value="Cast:"/>
            <h:inputText id="cast" value="#{movie.movie.cast}" title="Cast" />
            <h:outputText value="Trailer:"/>
            <h:inputText id="trailer" value="#{movie.movie.trailer}" title="Trailer" />
            <h:outputText value="Release:"/>
            <h:selectOneRadio id="release" value="#{movie.movie.release}" title="Release">
                <f:selectItem itemLabel="YES" itemValue="S" />
                <f:selectItem itemLabel="NO" itemValue="N" />
            </h:selectOneRadio>
            <h:outputText value="Facebook Button:"/>
            <h:inputText id="imagen6" value="#{movie.movie.facebookButton}" title="Image6" />       
         <h:form id="calendarForm2">
            <h:outputLabel for="releaseDate" value="Date (MM/dd/yyyy HH:mm:ss): "/>
            <t:inputCalendar id="releaseDate" monthYearRowClass="yearMonthHeader" weekRowClass="weekHeader" popupButtonStyleClass="standard_bold"
                currentDayCellClass="currentDayCell" value="#{movie.movie.releaseDate}" renderAsPopup="true"
                popupTodayString="Hoy :"
                popupDateFormat="MM/dd/yyyy" popupWeekString="Semana :"
                helpText="MM/DD/YYYY"
                forceId="true">
              <f:convertDateTime pattern="MM/dd/yyyy HH:mm:ss" />
            </t:inputCalendar>
         </h:form>
      </h:panelGrid>
     </h:form>                
            <h:form id="uploadForm1" enctype="multipart/form-data" >
                <h:outputText value="Image1:"/>
                <t:inputFileUpload id="file" value="#{movie.upLoad.upFile}" required="true" />
                <h:commandButton value="Upload" action="#{movie.upLoadFile}" />
           </h:form>
        <h:form>
        <br />
        <h:commandLink action="#{movie.create}" value="Create"/>
        <br />
        <br />
        <h:commandLink action="#{movie.listSetup}" value="Show All Movie Items" immediate="true"/>
        <br />
        <br />
        <h:commandLink value="Index" action="welcome" immediate="true" />
    </h:form>
    </body>
</html>

where:

private MovieFacade jpaController = null;

@Resource
private UserTransaction utx = null;

    public String create() {
    try {
        utx.begin();
    } catch (Exception ex) {
    }
    try {
        Exception transactionException = null;
        jpaController.create(pelicula);
        try {
            utx.commit();
        } catch (javax.transaction.RollbackException ex) {
            transactionException = ex;
        } catch (Exception ex) {
        }
        if (transactionException == null) {
            JsfUtil.addSuccessMessage("Movie was successfully created.");
        } else {
            JsfUtil.ensureAddErrorMessage(transactionException, "A persistence error occurred.");
        }
    } catch (Exception e) {
        try {
            utx.rollback();
        } catch (Exception ex) {
        }
        JsfUtil.ensureAddErrorMessage(e, "A persistence error occurred.");
        return null;
    }
    return listSetup();
}

It even validates Thank you very much!!

Ignacio Garat
  • 1,536
  • 6
  • 24
  • 48

1 Answers1

0

Your create button is not in the same form as the input values. You need to put the input of interest in the same form as the command link/button.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555