java - JSF: invoke method if conversion fails -
in jsf, how can invoke method in case of conversion failing on of input fields? guess can write own converters , stuff there, isn't there more simple way?
you use prerenderviewevent
listener, , in method check if validation has failed. listener method called every time before view rendered.
e.g.
consider following facelet:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" > <h:body> <h:messages/> <f:event listener="#{onerrorbean.onprerenderview}" type="prerenderview" /> <h:form> <h:inputtext value="#{onerrorbean.test}" label="test" required="true" /> <h:commandbutton value="submit" action="#{onerrorbean.onsuccess}" /> </h:form> </h:body> </html>
and following backing bean:
@viewscoped @managedbean public class onerrorbean { private string test; public void onprerenderview() { if (facescontext.getcurrentinstance().isvalidationfailed()) { onerror(); } } public void onsuccess() { system.out.println("success!"); } public void onerror() { system.out.println("error!"); } public string gettest() { return test; } public void settest(string test) { this.test = test; } }
if press button without entering value you'll see "error!" being printed in console, enter value , you'll see "success!".
Comments
Post a Comment