1

私のaddNew.xhtmlページには多くのフィールドがあります。クライアント側でフィールドの検証を行う必要があります。フィールドの 1 つがcity.

入力しないと検証エラーが発生するようにしたいのですcitycity cannot be left blank

以前は grails フレームワークに取り組んでいましたが、検証をカスタマイズするのは非常に簡単な作業でした。現在、私はjsfに取り組んでおり、この問題を解決するための良い例をインターネットで見つけるのに苦労しています.

この検証の実装を手伝ってくれませんか

   <!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j">
   <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <link type="text/css" rel="stylesheet" href="../css/global.css" />

   </head>
       <body>
<div class="windowContents">
    <a4j:form style="width: 700px; height: 500px" ajaxSubmit="true"
        id="addNewRecord">

            <a4j:repeat value="#{addAction.editedtable}"
                var="address">

                <br />
                <br />

                    <table border="0" style="font-size: 12px; width: 100%;">
                        <tr>
                            <td><h:outputText value="File ID:" /></td>
                            <td><h:outputText value="#{address.fileId}" /></td>

                            <td><h:outputText value="Insured Name" />:</td>
                            <td><h:outputText value="#{dataEntryAction.insuredName}" /></td>
                        </tr>
                        <tr>
                            <td><h:outputText value="House No" /><span class="red">*</span>:</td>
                            <td><h:inputText value="#{address.houseNumber}" /></td>

                            <td><h:outputText value="Street" /><span class="red">*</span>:</td>
                            <td><h:inputText value="#{address.street}" /></td>
                        </tr>
                        <tr>
                            <td><h:outputText value="City" />:</td>
                            <td><h:inputText id ="city" value="#{address.city}" required="false" requiredMessage="City is required" /></td>
                                            <h:message for="city" />


                        </tr>

                    </table>
            </a4j:repeat>
            <br />
            <h:panelGroup rendered="true">
                <a4j:commandButton value="save" image="../images/buttons/save.gif"
                      render="@form"
                    action="#{addAction.saveEditedAndPrepareHistory(addAction.userComment,user, addAction.editedtable)}"
                    reRender="dataEnrtyTable,dataEntryDetails"
                    oncomplete="javascript:Richfaces.hideModalPanel('addNewRecordPanel')"
                    style="align:center;" />

            </h:panelGroup>


    </a4j:form>
</div>

4

2 に答える 2

3

JSF 1.2+では、質問に厳密に答えると、次のようになります。

<h:outputLabel for="city" value="City" />
<h:inputText id="city" value="#{address.city}" required="true" requiredMessage="City cannot be left blank." />
<h:message for="city" />

これらの記事はあなたにとって興味深いかもしれないと思います:

それが役立つことを願っています!

于 2013-03-20T06:03:02.563 に答える