Сообщение об ошибке не появляется после сбоя проверки - PullRequest
0 голосов
/ 07 декабря 2018

В приведенном ниже фрагменте исходного кода я пытаюсь проверить вводимый текст, чтобы он не превышал 5000 символов.Однако я столкнулся со странным поведением.Когда я отмечаю компонент importantInfo как required=true, появляется сообщение об ошибке проверки в случае сбоя validateLength.Однако, когда я отмечаю importantInfo как required=false, произойдет процесс проверки, но сообщение об ошибке не появится, если я введу более 5000 символов.Для информации я использую JSF 1.2 и ICEFACES 1.8.1.

user.jspx

<code><tr>    
                <td class="label">    
                               <ice:outputText value="#{msg.importantNotes}" />    
                </td>    
                <td class="data">     
                               <ice:inputTextarea id="importantInfo" rendered="#{editable}" required="true"

                                               value="#{user.importantInfos}" style="width:300px;height:200px;overflow: auto;">    
                                               <f:validateLength maximum="5000" />    
                               </ice:inputTextarea>    
                               <h:message styleClass="errorMessage" for="importantInfo"/>                                                           
                               <pre style="font-family: Verdana, Arial, sans-serif; font-size: 11px; width:700px;overflow: auto;">    
                                               <ice:outputText rendered="#{!editable}" value="#{user.importantInfos}" />    
                               

face-config.xml:

 <application>
                    <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
                    <view-handler>com.icesoft.faces.facelets.D2DFaceletViewHandler</view-handler>
                    <message-bundle>i18n.validationErrorMessages</message-bundle>
                    <resource-bundle>
                                   <base-name>version</base-name>
                                   <var>version</var>
                    </resource-bundle>
    </application>

validationErrorMessages.properties

javax.faces.validator.LengthValidator.MAXIMUM=Der eingegebene Wert ist zu lang.
...