禁用jsf form int validation

问题描述 投票:1回答:1

我在jsf中有一个表单,我已经创建了一个特殊的验证器类,它检查字段是否为:null,empty,valid,number等。如果输入无效,则该类会抛出一条带有消息的异常。问题是当我在输入字段中写字母时(输入应该是一个int!)我得到默认验证消息而不是自定义验证消息。如何禁用默认验证消息?

这是一个带有默认验证消息的图像:

enter image description here

JSF代码:

<h:form>
            <h:inputText value="#{deleteEmployeeBean.employeeId}"
                id="employeeId" name="employeeId">
                <f:validator validatorId="idValidator" for="employeeId"></f:validator>
            </h:inputText>
            <h:message for="employeeId" style="color: red;"></h:message>
            <h:commandButton action="#{deleteEmployeeBean.loadEmployee}"
                value="#{content.searchButton}"></h:commandButton>
        </h:form>
validation jsf
1个回答
0
投票

你可以使用validatorMessage为你的f:validator

<h:inputText value="#{deleteEmployeeBean.employeeId}"
            id="employeeId" name="employeeId" validatorMessage="your message">
            <f:validator validatorId="idValidator" for="employeeId"></f:validator>
 </h:inputText>

或者您可以使用它来让用户只插入数字

    <h:inputText value="#{deleteEmployeeBean.employeeId}"
      id="employeeId" name="employeeId" validatorMessage="your message" 
      onkeypress="if(event.which &lt; 48 || event.which &gt; 57 ) if(event.which != 8) return false;">
       <f:validator validatorId="idValidator" for="employeeId"></f:validator>
   </h:inputText>
© www.soinside.com 2019 - 2024. All rights reserved.