2013-07-24 2 views
0

Я прочитал много сообщений об этой ошибке проверки JSF2, но не могу понять, почему это происходит. Мои элементы выбора - это список, в котором ListItem является POJO с двумя строковыми полями, ключом и значением. Когда я отправляю страницу, выбирая опцию select item со значением «0», я получаю следующую ошибку: Ошибка проверки: значение недействительно.JSF2 Значение недействительно при отправке нуля

Величина, подлежащая представлению, привязана к int. Вот метод равенства в ListItem, но у меня есть точка отладки на этом методе, и он не появляется, чтобы попасть, так что я не могу увидеть, если это вопрос:

public boolean equals(Object other) 
{ 
    if (other == null || !(other instanceof ListItem)) 
     return false; 
    ListItem otherLI = (ListItem) other; 
    return otherLI.key.equals(key); 
} 

Любые идеи?

ответ

0

Возможно, исправлено это после выполнения некоторой отладки в методе validateValue UISelectOne, оказалось, что SelectUtils.valueIsNoSelectionOption возвращает true, когда переданное значение равно 0 в качестве объекта Integer.

Мой noSelectionOption был следующим:

<f:selectItem noSelectionOption="true" itemLabel="Please Select" itemValue="" /> 

После изменения ItemValue быть # {NULL}, кажется, работает нормально.

<f:selectItem noSelectionOption="true" itemLabel="Please Select" itemValue="#{null}" /> 
Смежные вопросы