Отключить проверку формы jsf int

У меня есть форма в jsf, для которой я создал специальный класс валидатора, который проверяет, является ли поле: нулевым, пустым, действительным, числом и т. д. Этот класс выдает исключение с сообщением, если ввод недействителен. Проблема в том, что когда я пишу буквы в поле ввода (ввод должен быть int!), я получаю сообщение проверки по умолчанию вместо пользовательского. Как я могу отключить сообщение проверки по умолчанию?

Вот изображение с сообщением проверки по умолчанию:

Отключить проверку формы jsf int

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>

Я удивлен, что за это проголосовали. Укажите минимальный воспроизводимый пример. Мы мало что можем сделать с изображением.

Jasper de Vries 21.02.2019 08:52

Это - и помогает ли атрибут validatorMessageh:inputText?

Selaron 21.02.2019 08:54

Я обновил свой пост. Пользовательский валидатор работает, но кажется, что когда форма ожидает число, JSF показывает сообщение по умолчанию вместо пользовательского из моего валидатора.

John R. 21.02.2019 09:02

Я думаю, вы столкнулись с проверкой bean-компонентов, но для проверки необходим MCVE.

Jasper de Vries 21.02.2019 09:20

@jasperdevries: коллега? Или два аккаунта?

Kukeltje 21.02.2019 09:38
Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Валидация полей ввода для базовой формы React
Валидация полей ввода для базовой формы React
В одном из моих проектов MERN Stack есть форма с именем, фамилией, контактным номером, адресом, электронной почтой, датой рождения, номером NIC, весом...
Пользовательские правила валидации в Laravel
Пользовательские правила валидации в Laravel
Если вы хотите создать свое собственное правило валидации, Laravel предоставляет возможность сделать это. Создайте правило с помощью следующей...
1
5
105
1

Ответы 1

вы можете использовать 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>

Другие вопросы по теме