JSF Настраивают сообщение проверки для h:selectOneMenu (если ничто выбранное)

У меня есть h:selectOneMenu, это заполнено перечислимыми значениями, который хорошо работает. Единственная проблема состоит в том, что я не знаю, как перезаписать стандартное сообщение об ошибке JSF, когда никакое допустимое значение не выбрано. Сообщение об ошибке всегда bv:title: 'Choose' must be convertible to an enum from the enum that contains the constant 'Choose'. Хотя я указал requiredmessage и validatormessage (который работает над InputText), только стандартное сообщение JSF показывают.

Отрывок:

<h:selectOneMenu id="title" value="#{personBean.person.title}" required="true"
                  requiredMessage="ERROR"
                  validatorMessage="ERROR">
  <f:selectItem itemValue="Choose" />
  <f:selectItems value="#{personBean.titleOptions}" />
  <f:ajax event="blur" render="titleError" />
  <f:validateRequired/> 
</h:selectOneMenu> 
<h:message for="title" errorClass="invalid" id="titleError" />

Как я могу перезаписать стандартное сообщение блока проверки допустимости? Или лучше - я могу создать копию JSF messages.properties со специализированными сообщениями об ошибках (не хотите определять все ошибки в моем собственном messages.properties снова)?

5
задан Ingo Fischer 2 June 2010 в 11:27
поделиться

1 ответ

Это не «обязательное» сообщение об ошибке. Это сообщение об ошибке "конвертера". Это может появиться, если текущий выбранный элемент не соответствует ни ожидаемому типу, ни какой-либо из опций в списке. Требуемое сообщение появится только в том случае, если текущий выбранный элемент null .

Вы используете строковое значение в качестве первого элемента. Это не может быть преобразовано в перечисление. Вам нужно установить его как метку элемента со значением элемента null .

<f:selectItem itemLabel="Choose" itemValue="null" />
11
ответ дан 13 December 2019 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: