开发者

Error message for immediate attribute

开发者 https://www.devze.com 2023-02-05 22:19 出处:网络
开发者_JAVA技巧See the following code: <h:form> <table> <tr> <td> <h:inputText id=\"name\" value=\"#{jsfBean.name }\" required=\"true\" immediate=\"true\"/>
开发者_JAVA技巧

See the following code:

<h:form>
   <table> 
     <tr>                 
     <td> 
       <h:inputText id="name" value="#{jsfBean.name }" required="true" immediate="true"/>
      <h:message for="name"/>
    </td>
 </tr>
     <tr>                 
        <td> 
      <h:inputText id="number" value="#{jsfBean.number }" required="true" />
      <h:message for="number"/>
    </td>
 </tr>          
 <tr>
    <td>
         <h:commandButton id="submit" value="Submit" action="#{jsfBean.submit }" immediate="true"/>
 </td>
 </tr>
     </table>
    </h:form>

When I am submitting the form without typing the values, It should validate and throw error for first text box. But, its not happening. What could be the problem?


Its working for me

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>

faces-config.xml

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="2.0"
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">


</faces-config>

index.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form>

            <h:inputText value="#{myBean.val}" required="true" immediate="true"/>
            <h:commandButton action="#{myBean.submit}" immediate="true"/>

        </h:form>
    </h:body>
</html>

libraries

  <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>6.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-api</artifactId>
            <version>2.0.2-b10</version>
        </dependency>
        <dependency>
            <groupId>com.sun.faces</groupId>
            <artifactId>jsf-impl</artifactId>
            <version>2.0.2-b10</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.1.2</version>
        </dependency>
        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>
    </dependencies>


Because its immediate=true. Immediate fields skip the validation step. I think you have to validate this field manually.

0

精彩评论

暂无评论...
验证码 换一张
取 消