Hi,
I am trying to do the mandatory field check for File upload field in my jsf page but it is not working.
Please help me if there is any other solution to handle this?
My code is as follows:
<p:outputLabel for="merchantImage" value="Merchant Image: " />
<p:fileUpload id="merchantImage" mode="advanced"
fileUploadListener="#{saveMerchantController.handleFileUpload}"
required="true"
requiredMessage="ImageFile is required."
fileLimit="1"/>
<p:message for="merchantImage" />
Regards,
Sneha
Required Attribute(Mandatory Check) not working for File Upload Tag
Please post a full mcve* and version info (both PrimeFaces and JSF (and its implementation name)) and use [ code ] .... [ /code ] tags (without the spaces) to format your code
* https://stackoverflow.com/help/mcve
* https://stackoverflow.com/help/mcve
-
- Posts: 5
- Joined: 14 Jan 2019, 13:00
Code: Select all
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui" template="admin-layout.xhtml">
<ui:define name="content">
<h:form enctype="multipart/form-data">
<h4>Store Details</h4>
<p:growl id="messages" showDetail="false" globalOnly="true"
closable="true">
<p:autoUpdate />
</p:growl>
<p:tooltip id="toolTipZipCode" for="zipcode" showEvent="click"
hideEvent="blur" />
<h:panelGrid columns="3" cellpadding="5">
<p:outputLabel for="storeImage" value="Store Image: " />
<p:fileUpload id="storeImage" mode="advanced"
fileUploadListener="#{storeController.handleFileUpload}"
required="true" fileLimit="1" auto="true" update="storeImageDisplay"/>
<p:graphicImage id="storeImageDisplay" height="100" width="100" value="#{storeController.storeImageContent}" stream="false"/>
<p:outputLabel for="storeName" value="Store Name: " />
<p:inputText id="storeName" size="40"
value="#{storeController.store.storename}" required="true"
requiredMessage="Store Name is required" />
<p:message for="storeName" />
<p:outputLabel for="contactFirstname" value="Contact First Name: " />
<p:inputText id="contactFirstname" size="40"
value="#{storeController.store.contactFirstname}" required="true"
requiredMessage="First Name is required" />
<p:message for="contactFirstname" />
<p:outputLabel for="contactlastname" value="Contact Last Name: " />
<p:inputText id="contactlastname" size="40"
value="#{storeController.store.contactlastname}" required="true"
requiredMessage="Last Name is required" />
<p:message for="contactlastname" />
<p:outputLabel for="email" value="Email: " />
<p:inputText id="email" size="40"
value="#{storeController.store.email}" required="true"
requiredMessage="Email is required"
validatorMessage="Invalid email format. Please enter a valid email address">
<f:validateRegex
pattern="^[_A-Za-z0-9-\+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$"
for="email" />
</p:inputText>
<p:message for="email" />
<p:outputLabel for="mobileNumber"
value="Mobile Number: (Prefix with Country Code) " />
<p:inputMask id="mobileNumber" size="40"
value="#{storeController.store.mobileNumber}" mask="+999 999999999"
required="true" requiredMessage="Mobile Number is required" />
<p:message for="mobileNumber" />
<p:outputLabel for="addressline1" value="Address: " />
<p:inputText id="addressline1" size="40"
value="#{storeController.store.address.addressline1}"
required="true" requiredMessage="Address Line 1 is required"
placeholder="Please enter Address Line 1" />
<p:message for="addressline1" />
<p:outputLabel />
<p:inputText id="addressline2" size="40"
value="#{storeController.store.address.addressline2}"
required="true" requiredMessage="Address Line 2 is required"
placeholder="Please enter Address Line 2" />
<p:message for="addressline2" />
<p:outputLabel for="zipcode" value="ZipCode: " />
<p:inputMask id="zipcode" size="40" mask="999999"
title="For UAE; Please enter ZipCode as 000000"
value="#{storeController.store.address.zipcode}" required="true"
requiredMessage="ZipCode is required"
placeholder="Please enter ZipCode" />
<p:message for="zipcode" />
<p:outputLabel for="city" value="City: " />
<p:inputText id="city" size="40"
value="#{storeController.store.address.city}" readonly="true" />
<p:outputLabel />
<p:outputLabel for="state" value="State: " />
<p:inputText id="state" size="40"
value="#{storeController.store.address.state}" readonly="true" />
<p:outputLabel />
<p:outputLabel for="country" value="Country: " />
<p:inputText id="country" size="40"
value="#{storeController.store.address.country}" readonly="true" />
<p:outputLabel />
<p:outputLabel for="storeCategorys" value="Select Store Categorys: " rendered="#{storeController.store.id == null}" ajax="false"/>
<p:selectManyCheckbox id="storeCategorys" value="#{storeController.selectedStoreCategorys}" required="true"
requiredMessage="Store Categorys are required." layout="grid"
columns="3" rendered="#{storeController.store.id == null}" converter="storeConverter" ajax="false">
<f:selectItem itemLabel="Select Store Categorys" itemValue="" noSelectionOption="true" ajax="false"/>
<f:selectItems
value="#{storeController.getAllStoreCategorys()}"
var="entry" itemValue="#{entry.id}" itemLabel="#{entry.name}" ajax="false"/>
</p:selectManyCheckbox>
<p:message for="storeCategorys" ajax="false"/>
</h:panelGrid>
<p:commandButton value="Update Store Details"
action="#{storeController.updateStore}"
rendered="#{(not storeController.addmode) and (not storeController.storeTableMode) }"
update="@form" process="@form" />
<p:commandButton value="Add Store Details"
action="#{storeController.addStore}"
rendered="#{storeController.addmode and (not storeController.storeTableMode)}"
update="@form" process="@form" />
<p:commandButton value="Update Store Details"
action="#{storeController.updateStoreFromStorePage}"
rendered="#{storeController.storeTableMode == true}" update="@form"
process="@form" />
<p:confirmDialog global="true" closable="false" showEffect="fade"
hideEffect="fade" widgetVar="saveStoreConfirmation"
header="Submit Successful"
message="Store details submit successful! Navigate back to Store List">
<p:commandButton value="OK" styleClass="ui-confirmdialog-yes"
action="#{storeController.returnStoreList()}" process="@this"
update="@this" />
</p:confirmDialog>
<p:confirmDialog global="true" closable="false" showEffect="fade"
hideEffect="fade" widgetVar="saveStoreConfirmationFromStorePage"
header="Submit Successful"
message="Store details submit successful! Navigate back to Store List">
<p:commandButton value="OK" styleClass="ui-confirmdialog-yes"
action="#{storeController.returnStores()}" process="@this"
update="@this" />
</p:confirmDialog>
</h:form>
</ui:define>
</ui:composition>
Waaaaay to much code on one hand and too little (incomplete etc) at the same time
https://stackoverflow.com/help/mcve
https://stackoverflow.com/help/mcve
-
- Information
-
Who is online
Users browsing this forum: No registered users and 32 guests